golang与python有哪些不同?


本文摘自php中文网,作者coldplay.xixi,侵删。

golang与python的不同有:

主要是在语法方面。

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语言教程》

以上就是golang与python有哪些不同?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

go每日一库 [go-rate] 速率限制器

一文讲解golang怎么实现反转链表

golang elasticsearch7的使用

手撸golang 仿spring ioc/aop 之6 扫码1

关于golang cpu性能分析

golang websocket失败怎么办

go - time.rfc3339 时间格式化

session、cookie等相关基本概念

聊聊dubbo-go-proxy的apifilter

手撸golang 行为型设计模式 责任链模式

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...