这是我参与「第五届青训营 」伴学笔记创作活动的第3天
控制符
- %T输出参数类型
- %v相应值的默认形式;
- %d %o %x %X输出十进制、八进制、十六进制
- %q 包含单引号的字符
- 在百分号后面加[n]表示输出第几个参数
- 在百分号后面加#表示输出对应进制时加上前缀,八进制加0,十六进制加0x或0X
函数
函数的参数
函数可以没有参数,也可以接收多个参数,参数的类型放在参数的后边,当多个参数的类型相同时,除最后一个参数其他参数的类型可以省略
函数的返回值
- 函数可以返回任意数量的返回值,须在参数列表后声明返回值的类型
- 返回值可以直接命名,在参数列表后,命名后的返回值可以直接返回,即只写return就会返回
流程控制语句
for循环
- Go中只有for一种循环语句
- for循环不用写括号
- 初始化语句、条件语句和后置语句都可去掉;去掉初始化语句和后置语句便是while循环;三个语句都省略掉便是死循环
if语句
- if语句不用写括号
- if语句的条件表达式之前可以执行一个简单的语句
switch语句
switch x {
case a :
fallthrough
case b :
default :
}
- x可以是任意类型
- 默认在每个case语句块的后面加了break,若还想往下执行,需要加
fallthrough - default只作为默认执行,即便前面加了
fallthrough也不会执行default
- a,b无需为常量,也不必为整数,但a,b和i要保持一致
- 当switch没有条件时,同switch true一样,会往下执行,case后面跟上条件即可像if-then-else语句一样
defer语句
- defer语句会将其后的函数推迟到外层函数结束时执行
- 推迟的函数会被压入栈中,外层函数结束后,被推迟的函数根据先进后出的原则被调用