go在2009年才开发出来,各种语法特性都是东抄抄西抄抄,导致语法结构感觉上比较像c python js等语言的大杂烩,同时也有一些创新语法。

这里做个简略的总结

1 编译报错 imported and not used

这个导入的包,代码里没调用的结果,这个特性还好,可以节约编译资源。解决方法直接删掉或注释。

2 ()大括号

这个语法在以前没见过,算是golang的创新吧。

实例

import (
"fmt"
//"reflect"
)
var (
name2 = "John Doe"
occupation = "gardener"
)

python里()是元组,里面的元素用逗号分隔,但是go里的作用似乎就是一个代码区域的划分

3 没有class ,和c有点类似 用struct定义

4 方法定义

有返回值必须声明 和python不一样

可以返回多个值 和大多数语言不一样

返回值定义必须写类型,名称可以省略

隐式返回,定义名称的返回值,根据上下文自动return,可以省略return语句

多个返回值或带类型的单个值声明,必须加大括号