• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go 开发中需要注意的与python的不同点

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

从python转golang开发已经3个月了,因为写过c++,所以对golang接受的还算快,这段经历也不是很痛苦。伯乐在线上看了一些大神关于python转golang过程中的不适应和吐槽,决定写下篇博客。接下来,我会列出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判断是否出错

就想到这么多,希望对大家有所帮助~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go和python互调发布时间:2022-07-10
下一篇:
python 协程与go协程的区别 https://www.cnblogs.com/lgjbky/p/10838035.htm ...发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap