package main
import (
"fmt"
)
func main() {
//函数
fmt.Println("函数学习")
//函数格式
/*
func 函数名(参数列表)(返回值列表){
函数体
}
*/
//递归
number := 1
numbers := Recurrent(number)
fmt.Println(numbers)
//多返回值
a,b,c:=FunTest()
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
//函数可以作为类型使用
fun_type := Recurrent
fmt.Println(fun_type(2))
//可变参数函数
fmt.Println(sum(1,2,3))
fmt.Println(sum(1,2,3,4))
//def的用法
//defer后面的语句执行完,函数即将结束时,执行
fmt.Println("A")
defer fmt.Println("B")
fmt.Println("C")
//多个defer按照先进后出的执行顺序
//函数返回return x分为两步:
//第一步为:返回值赋值
//第二步为:真正的返回
//defer在两步之间执行
}
func Recurrent(a int) int {
a = a*2
if a<100 {
a = Recurrent(a)
}
return a
}
func FunTest() (int,string,bool) {
return 1,"多返回值",false
}
func sum(nums ... int) int {
total := 0
for _,val := range nums {
total += val
}
return total
}
go语言学习--day3(函数)
最新推荐文章于 2022-02-22 00:20:32 发布