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判断是否出错

最新文章

  1. POJ2175 Evacuation Plan
  2. Echarts 3.19 制作常用的图形 非静态
  3. Java Gradle入门指南之内建与定制任务类(buildSrc、Groovy等)
  4. [转]c++ vector 遍历方式
  5. 设置ASP.NET页面的运行超时时间详细到单个页面及站点
  6. ArchLinux KDE安装中文输入法
  7. artEditor增加表单提交功能
  8. MM中如何更改物料的评估类
  9. [HIHO1322]树结构判定(并查集)
  10. 【转】个人常用iOS第三方库以及XCode插件介绍 -- 不错
  11. 【转】如何定制android源码的编译选项 & 后期安装? ---- 不错
  12. 设计模式(八)装饰器模式Decorator(结构型)
  13. Part of Speech Tagging
  14. C#中的Infinity和NaN
  15. Oracle 11g数据库安装和卸载教程
  16. 前端的UI设计与交互之图标篇
  17. linux进程管理和系统状态常用命令简介
  18. SpringBoot整合系列-整合JPA
  19. 函数调用的四种方式 和 相关的 --- this指向
  20. myeclipse 与 webstrom 免解析node_modules 的方法

热门文章

  1. 获取form表单默认提交的返回值
  2. iOS多线程GCD简介(二)
  3. React-Native控件的生命周期
  4. 使用Prometheus针对自己的服务器采集自定义的参数
  5. 【AIX】3004-314 Password was recently used and is not valid for reuse
  6. python(练习题)
  7. Jmeter配置元件
  8. 如何使用Mojave将APFS卷上的MacOS Catalina Beta安装到双引导
  9. 使用opencv去操作树莓派摄像头保存图片和视频
  10. Xshell连接虚拟机中的Ubuntu