欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > Go入门之函数

Go入门之函数

2025/2/22 2:15:02 来源:https://blog.csdn.net/2201_75595843/article/details/145709690  浏览:    关键词:Go入门之函数
func subn1(x, y int) int {sub := x - yreturn sub
}

函数参数简写,可以省略前边的,和后边的类型一样

func addn1(x ...int) int {sum := 0for _, v := range x {sum += v}return sum
}

求可变参数的核,表示传参的个数不确定

func addn1(x int, y ...int) int {sum := 0for _, v := range y {sum += v}x=sumreturn x
}

返回值命名法

func calc1(x, y int) (sum int, sub int) {sum = x + ysub = x - yreturn
}

自定义函数类型

func add(x, y int) int {return x + y
}func main() {var c calcc = addfmt.Printf("%T\n", c)fmt.Println(c(10, 5))}

函数作为另一个函数的参数并且函数作为返回值

func add(x, y int) int {return x + y
}type calcType func(int, int) intfunc calc1(x, y int, cb calcType) int {return cb(x, y)
}
func main() {sum := calc1(5, 10, add)fmt.Println(sum)
}

匿名自执行函数

var fn = func(x, y int) int {return x * y}fmt.Println(fn(2, 3)) 

也可以接收参数

func(x, y int) {fmt.Println(x + y)}(10, 20)

函数的闭包,函数里面嵌套一个函数,最后返回里面的函数。可以作用局部变量常驻内存,不污染全局

********************

defer 延迟执行改语句 panic抛出一个异常 ,recover接异常 必须在defer中

func f() {defer func() {err := recover()if err != nil {fmt.Println(err)}}()panic("异常")
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词