1. 函数
1.1 基本语法
func 函数名 (形参列表) (返回值列表) {
执行语句
return 返回值列表
}
1.2 函数调用过程
1.3 return语句
- 如果返回多个值时,在接收时,希望忽略某个返回值,则使用
_符号表示占位忽略 - 如果返回值只有一个,(返回值类型列表)可以不写()
1.4 值传递和引用传递
1.5 函数使用的注意细节
- 形参列表和返回值列表的数据类型可以时值类型和引用类型
- 首字母不能是数字。
- 首字母大写的函数可以被本包文件和其他包的文件使用,类似public;首字母小写的函数只能被本包文件使用,其他包文件不能使用,类似private
- 基本数据类型和数组默认都是值传递,即进行值拷贝。在函数内进行修改,不会影响到原来的值。
- 引用传递的变量,在函数内修改后会影响到被影响的这个变量的值
- Go函数不支持重载
- 在Go中,函数也是一种数据类型,可以赋值一个变量。
func add(a int, b int) int {
return a + b
}
func main(){
a := add
res := a(10,20)
fmt.Println("res", res)
}
1.6 init函数
1.7 匿名函数
1.8 闭包
1.9 defer
2. 包
2.1 包的基本概念
go的每一个文件都是属于一个包的,也就是go是以包的形式来管理文件和项目目录结构的