来自:尚硅谷-韩老师 尚硅谷
1)函数的形参列表可以是多个,返回值列表也可以是多个
2)形参列表和返回值列表的数据类型可以是值类型和引用类型
3)函数的命名遵循标识符命名规范,首字母不能是数字,首字母大写该函数可以被本包文件和其它包文件使用,类似 public,首字母小写,只能被本包文件使用,其它包文件不能使用,类似 private
4)函数中的变量是局部的,函数外不生效
5)基本数据类型和数组默认都是值传递的,即进行值拷贝。在函数内修改,不会影响到原来的值
6)如果希望函数内的变量能修改函数外的变量(指的是默认以值传递的方式的数据类型),可以传入变量的地址&,函数内以指针的方式操作变量。从效果上看类似引用
7)Go 函数不支持函数重载
8)在 Go 中,函数也是一种数据类型,可以赋值给一个变量,则该变量就是一个函数类型的变量通过该变量可以对函数调用
9)函数既然是一种数据类型,因此在 Go 中,函数可以作为形参,并且调用
10)为了简化数据类型定义,Go 支持自定义数据类型
基本语法: type 自定义数据类型名数据类型// 理解: 相当于一个别名
案例: type myInt int // 这时 myInt 就等价 int 来使用了
案例: type mySum func (int, int) int // 这时 mySum 就等价 一个 函数类型 func (int,int) int
11)支持对函数返回值命名
12)使用_标识符,忽略返回值
13)Go支持可变参数