可见性
我们都知道其他面向对象的语言,都是用关键词public、private、protected来标记可见性。
但在GO里,直接用首字母的大小写来决定可见性,大写对外可见,小写仅包内可见。
例如fmt包的Printf函数在fmt包外部访问。
Golang习惯驼峰式命名,例如isExisits()
声明
有四种类型的声明语句:
变量var、常量const、类型type、函数func
变量
1. var声明
var 变量名字 类型 = 表达式
一般 “类型”、或者“=”可以省略一个,例如:
1 | var i, j, k int // int, int, int |
用处:用于需要显式指定变量类型地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。
2. 简短声明
变量名字 := 表达式
1 | i := 100 |
用处:用于大部分的局部变量的声明和初始化。
注意,简短变量声明语句中必须至少要声明一个新的变量,下面的代码将不能编译通过:
1 | f, err := os.Open(infile) |
指针
一个变量对应一个保存了变量对应类型值的内存空间。
一个指针的值是另一个变量的地址。
1 | i := 1 |
类型
类型声明语句一般出现在包一级,因此如果新创建的类型名字的首字符大写,则在外部包也可以使用。
type 类型名字 底层类型
例子:最常用的struct,User被声明为一个类型
1 | type User struct{ |