3. go中的函数

Go 语言函数

  • 在go 语言中 函数是一等公民
  • go语言最少有一个main函数也就是 主函数(入口函数)
  • 函数声明告诉了编译器函数的名称,返回类型,和参数。
  • 可返回多个值, 返回值类型写在最后面
  • 函数可以作为参数
  • 没有默认参数,可选参数

函数定义

  • go 语言的函数 由 func 声明
func funcTest() {}

函数调用

package main

import "fmt"

func main() {
   // 定义局部变量 var a int = 100 等同于 a := 100
   var a int = 100
   var b int = 200
   var ret int

   // 返回两者相加
   ret = num(a, b)

   fmt.Printf( "两数之和为 : %d\n", ret )
}

函数返回两数之和为
func num(num1, num2 int) int {
   return num1 + num2
}

函数参数

  • 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
  • 引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
  • 默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。 (引用传递需要指针)

函数返回多个值

// 函数接收两个参数  返回两个参数
func funcTest(a,b int)(c, d int)  {
	c, d = a, b
	// 当为 返回参数定义名字时  return 时 会自动返回对应参数
	return
}

函数接收参数固定 无返回值

// 函数接收参数固定  无返回值
func funcTest(nums ...int)  {
	// 不定参数时  nums 是一个数组, range 可以用来遍历数组及map
	for i := range nums{
		fmt.Println(nums[i])
	}
}

函数可以作为参数

// 函数式
func apply(fc func(a,b int)int, a, b int)int  {
	return fc(a,b)
}

// 函数可以作为参数, 接收一个函数返回其相加结果
func funcTest()  {
	fmt.Println(apply(func(a, b int) int {
		return a + b
	},3,4))
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值