go与python的不同
Posted shaozheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go与python的不同相关的知识,希望对你有一定的参考价值。
列出golang开发过程中与python的不同点,主要是在语法方面,golang的一些语法真是要人命啊。
1.golang可读性很强,与或对应&&, ||这也使得golang看起来更像传统编程语言,而不是python的or,and
2.很难修改字符串,需要的话就重排吧
3.字符串经常需要在string和[]byte之间来回转换,数字转字符串必须用strconv
4.if,else,elif必须和配对的 { 在同一行
5.无时无刻不在使用自定义的struct,初始化结构体要用,json转成数据结构也要用,如果json转成的是复合结构还要嵌套struct,很多时候strcut来当python中的map用
6.定义type test struct,想得到一个test的数组,要使用[]*test,而不是[]test
7.struct及其里面的元素的首字母要大写,不然很可能访问不到
8.golang的map比python难用多了,没有dict.keys(),没有dict.values(),想把map转成别的结构只能遍历map
9.声明并赋值使用:=
10.没有set,没有tuples,要经常使用slices
11.没有__getattr,要经常检查是否存在
12.引用的包,声明的变量必须都的使用,不然编译都无法通过
13.数组没有[:-1]、[::-1]、a,b,c=[1,2,3]这些灵活的用法
14.如果能确定函数返回的类型,就不要用interface{},哪怕结构很复杂,也要使用strcut来返回。如果返回interface{},那么string(),for遍历这些基础用法都没法使用了
15.空指针是nil,python中的None在golang用nil代替,经常写err != nil判断是否出错
以上是关于go与python的不同的主要内容,如果未能解决你的问题,请参考以下文章
备忘录设计模式详解C/Java/JS/Go/Python/TS不同语言实现
干货 | Go/Python/Erlang编程语言对比分析及示例
访问者设计模式详解C/Java/JS/Go/Python/TS不同语言实现
希尔排序ShellSort算法详解Java/Go/Python/JS/C不同语言实现
python与go语言对比
go和python哪个好