Golang 笔记——结构
程序结构
1 | package 包名 |
例子:
1 | package main |
函数结构
一个函数的声明由
func
关键字、函数名、参数列表(main
函数为空)、返回值列表(可以为空)、放在大括号内的函数体组成,函数体定义函数是用来干什么的
语句结构
Go 不需要在语句或声明后面使用分号,除非有多个语句或者声明出现在同一行。事实上,跟着特定符号后面的换行符被替换为分号,在什么地方换行会影响对 Go 代码的解析。例如,“
{
” 符号 必须 和关键字func
在同一行,不能独自成行,并且在x+y
这个表达式中,换行符可以在+
操作符的后面,但是不能在+
操作符的前面。Go 对代码的格式要求非常严格。 gofmt 工具将代码以标准格式重写,go 工具的
fmt
子命令使用 gofmt 工具来格式化指定包里的所有文件或者当前文件夹中的文件(默认情况下)。goimports 可以按需管理导入声明的插入和移除。
注释
单行注释以 // 开头,多行注释 /*......*/
这种形式, 编译器将会忽略它们。
变量结构
var
关键字声明变量。变量可以在声明的时候初始化,如果没有明确初始化,它将隐式的初始化为这个类型的空值(数字是 0, 字符串是 *””* )。
例子:
1 | // 基本机构 var 变量名 数据类型 |
循环结构
for
是 Go 里 唯一 的循环语句。
1 | for initialization; condition; post { |
for
循环的三个组成部分两边不用小括号。大括号是必须的,但是左大括号必须和 post (后置)语句在同一行
1 | for condition { |
三部分都是可以省略的。如果没有 initialization 和 post 语句,分号可以省略
1 | for { |
如果三个部分都不存在,循环是无限的,可以通过
break
或者return
语句进行终止。
条件结构
if
语句中的条件部分也从不放在圆括号里面。
1 | if condition { |
switch
语句 default
可以放在任何地方,不一定是最后。它不一定需要操作数。
1 | switch condition { |
空标识符
_
即下划线。Go 不允许存在无用的临时变量,不如会出现编译错误。解决方案是使用 空标识符。它可以用在任何语法需要变量名但是程序逻辑不需要的地方。
1 | for _, arg := range os.Args[1:] { |