6.golang函数

函数是执行特定任务的代码块。函数接受输入,对输入执行一些计算,然后生成输出。

函数声明

在 go 中声明函数的语法是:

func name(parameter) (result-list){
    //body
}

函数声明以func关键字开头,后跟name(函数名)。在括号中指定参数,后面为函数返回值result-list。参数和返回类型在函数中是可选的。因此,以下语法也是有效的函数声明。

func name() {  
    //body
}

单返回值函数

func plus(a, b int) (res int) {
	c := a + b
	return c
}

func main() {
	a, b := 90, 6
	sumAll := plus(a, b)
	fmt.Println("sum", sumAll)
}

上面程序,函数plus 接受两个 int 类型的值,并返回最终和。输出结果如下:sum 96

多返回值函数

func plus(a, b int) (int, int) {
	c := a + b
	d := a - b
	return c, d
}

func main() {
	a, b := 90, 6
	sumAll, subAll := plus(a, b)
	fmt.Println("sum", sumAll)
	fmt.Println("sub", subAll)
}

输出结果如下:

sum 96
sub 84

命名返回值

如果返回值被命名,相当由于在函数的第一行被声明为变量。

func plus(a, b int) (res int) {
	res = a + b
	return
}

func main() {
	a, b := 90, 6
	sumAll := plus(a, b)
	fmt.Println("sum", sumAll)
}

输出结果如下:sum 96

参数可变函数

func sum(nums ...int) (res int) {
	fmt.Println("len of nums is : ", len(nums))
	res = 0
	for _, v := range nums {
		res += v
	}
	return
}

func main() {
	fmt.Println(sum(1))
	fmt.Println(sum(1, 2))
	fmt.Println(sum(1, 2, 3))
}

输出结果如下:

len of nums is :  1
1
len of nums is :  2
3
len of nums is :  3
6

匿名函数

func main() {
	func(name string) {
		fmt.Println(name)
	}("初辰ge")
}
相关推荐
Tech_gis21 分钟前
C++ 观察者模式
开发语言·c++·观察者模式
卑微求AC22 分钟前
继电器原理及应用
c语言·开发语言·51单片机·嵌入式
曳渔28 分钟前
Java-数据结构-反射、枚举 |ू・ω・` )
java·开发语言·数据结构·算法
laocooon52385788629 分钟前
java 模拟多人聊天室,服务器与客户机
java·开发语言
风槐啊30 分钟前
六、Java 基础语法(下)
android·java·开发语言
网安老伯1 小时前
【2024版】最新kali linux入门及常用简单工具介绍(非常详细)零基础入门到精通,收藏这一篇就够了_kalilinux
linux·运维·服务器·开发语言·web安全·网络安全·xss
laocooon5238578861 小时前
java类的混搭,
java·开发语言
爱写代码的小朋友1 小时前
Python 中的高阶函数与闭包
开发语言·python
番茄灭世神1 小时前
C语言的类型提升机制
c语言·开发语言
CopyLower1 小时前
如何保证下订单和扣款操作只能执行一次:技术详解
开发语言·php