包
官方解析:
每个 Go 程序都是由包组成的。
程序运行的入口是包main
。
关于包,Go有一种便捷的写法:
1 | import "fmt" |
Go官方也推荐圆括号的方式。
关于包,还有一个注意的地方,就是首字母大写的变量才会被导出
意思就是说,你定义首字母为大写的变量,其他包引入的时候才可以看到,同样你引入其他包的时候,也只能看到首字母大写的变量。例如:
1 | package main |
函数
Go中的函数比较有意思,可以返回多个值。
1 | package main |
从这个例子可以看出Go函数有几个特点:
- 参数类型写在参数之后
- 多个参数如果类型一样,则只需要在最后一个参数表明类型,其他省略
- 函数可以返回任意个数的值
Go可以命名返回值,这样命名的返回值在函数内部也可以直接使用:
1 | package main |
这时候可以直接返回空return,Go会正常返回x,y的值。
变量
Go变量用var关键字,和js一样。不过同样遵循变量类型写在变量后面,但Go对变量定义和赋值有更加优雅的方式:
1 | var i, j int = 1, 2 |
如果在函数内部,Go支持:=
这样的简洁赋值语句:
1 | var i, j int = 1, 2 |
同样Go的变量也是支持圆括号写法:
1 | var ( |
常量
常量的定义与变量类似,只不过使用 const 关键字。另外常量不能使用:=
语法定义。
1 | const Pi = 3.14 |
总结
- main包为Go程序入口包
- 每个包只有大写字母开头的变量才可以导出给其他包引入
- 定义变量或者函数参数,类型写在后面
- 函数可以返回多个值,命名的返回值可以直接在函数内部使用