流程和函数
流程控制
流程控制分为3大类:条件判断if,switch,循环控制for和无条件跳转goto
if
if判断语句不需要(),但是{必须和if在一行
if判断语句可以是一个变量,变量的作用域为判断作用域
switch
默认每个case后面带有break,满足即调出switch
fallthrough,强制执行后面的case
goto
跳转,跳转到的地方必须在当前函数定义的标签,标签名要以:结尾,大小写敏感
for 就是循环喽
函数
func functionName()
main函数和init函数
init函数每个package都可以有
main函数只有package main中才可以有
两个函数定义的时候不能有任何的参数和返回值,init函数都是可选的,但是main函数有且只能有一个
程序的初始化和执行都是起始于main包
多个返回值
变参
func myfunction (arg ...int){}
传值和传指针
传值只是值得copy,传指针才会真正的改变值
defer
延迟语句,当函数执行到最后的时候,defer语句会按照逆序进行
for i:=0;i<5;i++{ defer fmt.Printf("%d",i)}
import
import(
. "fmt"可以省略包的名字
f "fmt" 可以用f代替包的名字
_ "xxxx" 只是调用该包里面的init函数
)