一.函数的命名
无参数无返回值
方式一
func 函数名()(){}
方式二
func 函数名(){}
无参数有返回值
方式一
func 函数名()(返回参数1的数据类型1){}
定长参数,有返回值
func 函数名(参数1 类型,参数2 类型)(返回参数1的数据类型1,返回参数2的数据类型){}
//如果参数1与参数2的数据类型相同
func 函数名(参数1,参数2 类型)(返回参数1的数据类型1,返回参数2的数据类型){}
//如果参数1与参数2的数据类型为int,参数3数据类型为uint
func 函数名(参数1,参数2 int,参数3 uint)(返回参数1的数据类型1,返回参数2的数据类型){}
定长参数,无回值
//方式一
func 函数名(参数1 类型,参数2 类型){}
//方式二
func 函数名(参数1 类型,参数2 类型)(){}
不定长参数
//方式一
func 函数名(不定长参数1... 类型){}
//有定长参数和不定长参数
func 函数名(定长参数 类型,不定长参数1... 类型){}
//不定长的参数必须写在定长的参数后面
//不定长参数所有数据类型
func 函数名(不定长参数1... interface{}){}
匿名函数
//定义
func (参数一,参数二)(返回参数1的数据类型1){return 1 }
//定义+调用
func (参数一,参数二)(返回参数1的数据类型1){return 1 }()
命名返回值
package main
import "fmt"
func abc()(a int,b int){
//var a,b int 相当于默认执行这条
//但是ab只在函数内生效函数外部生效
return
//return 与return a,b是一样的
}
func main() {
fmt.Println(abc())
}
二.注意点
- 由于是编译型语言main 与main里面使用的函数不需要注意先后关系
没有关键字传参
没有默认参数
- 函数没有缩进的约数,但是为了排版还是要注意缩进不然会看上去非常非常
丑