写在前面
初学go语言,这篇文章记录了go几个简单的超基础语法。
关于包
- 一个包
package可以有很多go文件。 - 一个文件夹下的go文件只能被定义在同一个包
package内。 - 文件夹名和包
package名没有必然关系,但一般建议两者相同。 - 只有main包
package main才有main函数。 - 每一个go语言程序都有唯一的main包
package main,且在main包package main中有且仅有一个go文件包含main函数(这点与java不同),这个main函数就是go语言程序的入口。
关于公有私有
- 与java利用
public、private控制访问权限不同,在go中,可以通过首字母的大小写来控制访问权限。无论是方法,变量,常量或是自定义的变量类型,如果首字母大写,则为公有,可以被外部包访问,反之则私有。 - 因此结构体中的字段名首字母要大写,否则将无法被外部包访问和解析。
关于分行
- 在go中,编译时会主动将特定符号后的换行符转换为分号,因此不需要在语句末尾添加分号
- 需要注意的是下面这种写法是错误的
func main()
{
fmt.Printf("\"hello\": %v\n", "hello")
}
- 正确写法如下
func main() {
fmt.Printf("\"hello\": %v\n", "hello")
}
- ()也类似
关于声明
- 变量会在声明时直接初始化。
- 如果变量没有显式初始化,则被隐式地赋予其类型的零值,比如数值类型是0,字符串类型是空字符串""。
:=是短变量声明并赋值,不能var完了又用:=,且:=只能用在函数或方法的内部。