01-03 函数

03 函数

1 函数定义

1 普通的:func(关键字) 函数名(){

}

// 只有这个函数才是运行的主题函数
func main()  {
	f1()
}
// 在main外定义,不按顺序
func f1()  {
	fmt.Println("f1")

}

注意:

​ func main(){

},这是一个主体的函数,程序只运行这个函数体的代码

2 传参数

1 func 函数名(参数名 数据类型,参数名 数据类型){

​ 函数中的代码

}

// 只有这个函数才是运行的主题函数
func main()  {
	f2("lynn", 18) // 调用时,按顺序和指定的数据类型传值,不用指定数据类型
}


// 注意定义时必须指定数据类型
func f2(name string, age int)  {
	fmt.Println(name, age)

}

2 可变长参数 : func 函数名(变量名... 数据类型){

}

注意:

​ 可变长参数,接收的值是一个数组

func main()  {
	 f4(1,2,34,5)

}

func f4(a... int)  {//可变长参数只能传同种数据类型的数据
	fmt.Println(a)

}

3 函数返回值

​ 1 单返回值

​ func 函数名(参数名 数据类型)返回值的数据类型{

​ return 一个返回值

}

// 只有这个函数才是运行的主题函数
func main()  {
	var a string
	a = f3("lynn")
	fmt.Println(a)

}

func f3(age string)string{ // 指定返回数据的数据类型
	return age

}

​ 2 多返回值

​ func 函数名(参数名 数据类型)(第一个返回值的数据类型,第二个数据类型的返回值){

return 第一个值, 第二个值

}

注意:

​ 调用函数接收返回值时,返回值有几个必须有几个值接收,并且要声明数据类型

// 只有这个函数才是运行的主题函数
func main()  {
	 f3("lynn")


}

func f3(age string)(string, int){ // 指定返回数据的数据类型,括号中按顺序指定数据类型
	return age,18

}

​ 3 命名返回值

// 只有这个函数才是运行的主体函数
func main()  {

	age, name := f5(18) // 声明赋值
	fmt.Println(age, name)
}


func f5(age int)(a int, b string){ // 提前声明返回值,可以直接在函数体中使用,不用声明,且可以直接return
	a = age
	b = "lynn"
	return   // 相当于return a, b
}

4 空白符(占位符)

​ 多返回值时,不想接收的返回值用_接收

func main()  {

	age, _ := f5(18) // _表示不要的返回值,且不能打印
	fmt.Println(age)
}


func f5(age int)(a int, b string){ // 提前声明返回值,可以直接在函数体中使用,不用声明,且可以直接return
	a = age
	b = "lynn"
	return
}
posted @ 2019-12-18 12:09  tianzhh_lynn  阅读(52)  评论(0编辑  收藏  举报