go函数声明

本文深入讲解了Go语言中函数的定义与使用,包括基本的函数声明、多返回值的使用方式、变长参数的处理以及如何将函数作为参数传递等高级特性。通过具体的代码实例,帮助读者更好地理解和掌握Go函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

go函数声明

go函数使用func关键字声明,代码如下:

/*

go函数

*/

package main

func add(num1 int, num2 int) int {
	return num1 + num2
}

// 有两个返回值的函数
// 有多个返回值时,用括号括起来
func div(a, b int) (int, int) {
	return a / b, a % b
}

// 可以给返回值取名字,例如
func div2(a, b int) (q, r int) {
	return a / b, a % b
}

// 有多个返回值时,也可以有这种写法
// 函数体太长时不建议用下面的方法写
func div3(a, b int) (q, r int) {
	q = a / b
	r = a % b
	return
}

func main() {

}

go函数的特点
(1)可以有多个返回值
(2)形参类型相同时,可以合并写
(3)形参的类型必须写清楚,不能省略

变长参数

代码

package main

import "fmt"

// 变长参数
// 注意下面的nums不是数组
func sum(nums ...int) int {
	s := 0
	for i := range nums {
		s += nums[i]
	}

	return s
}

func main() {
	fmt.Println(sum(100, 200, 300, 400))
}

函数做参数

package main

import (
	"fmt"
	"math"
)

func apply(op func(int, int) int, a, b int) int {
	return op(a, b)
}

func pow(a, b int) int {
	return (int)(math.Pow(float64(a), float64(b)))
}

func main() {
	result := apply(pow, 2, 3)
	fmt.Println(result)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值