golang中特殊的存在-包
函数
函数的表达方式
func 函数名 (形参代表)(返回值列表){ 执行语句 return(返回值) } `
func Add(n1 int,n2 int)int{
n3:=n1+n2
return n3
}
init函数
- 每个源文件中都可以包含一个init函数,该函数会在main函数执行前,被GO运行框架调用。
- init函数主要作用就是完成初始化的工作
匿名函数
GO支持匿名函数
使用方式
- 定义匿名函数直接调用
func main(){
sum :=func(n1 int,n2 int)int{
return n1+n2
}
}
- 将匿名函数赋给一个变量,再通过变量来调用匿名函数
a:=func(n1 intn2 int)int{
return n1+n2
}
num:=a(3,22)
如果这个变量为全局变量,那么这个匿名函数是全局匿名函数。
注意事项和细节
- 函数的形参可以是多个,返回值列表也可以是多个。 2.形参列表和返回值列表的数据类型可以是值类型和引用类型。
- 函数的命名遵循标识命名规范,首字母不能是数字,首字母大写该函数可以被本包和其他包调用,首字母小写,只能被本包调用。
- 函数中函数内的变量是局部的,函数外不生效
- 基本数据类型和数组默认为值传递,进行值拷贝,在函数内修改,不会影响原来的值
- GO函数不支持函数重载
- 函数也是一种数据类型,可以作为形参。
- 支持对函数返回值命名
- 可以使用_标识符,忽略返回值
包
- GO 的每个文件都属于一个包,也就是说go是以包的形式来管理文件和项目目录结构的
- 包可以用来区分很多相同名字的函数·变量等标识符
- 打包基本语法:package 包名 import "包的路径"