0
点赞
收藏
分享

微信扫一扫

Go语言学习(3)

老榆 2022-02-25 阅读 93

func
函数是通过func关键字来声明的,基本结构如下:

func funcName(input1 type1, input2 type2) (output1 type1, output2 type2) {
    //这里是处理逻辑代码
    //返回多个值
    return value1, value2
}

变参:指定函数接收不定数量的参数。

func funcName(arg ...int) {}

函数传参 要考虑的是传入的参数需不需要改变原始值。

package main
import "fmt"

//简单的一个函数,实现了参数+1的操作
func add1(a *int) int { // 请注意,
	*a = *a+1 // 修改了a的值
	return *a // 返回新值
}

func main() {
	x := 3

	fmt.Println("x = ", x)  // 应该输出 "x = 3"

	x1 := add1(&x)  // 调用 add1(&x) 传x的地址

	fmt.Println("x+1 = ", x1) // 应该输出 "x+1 = 4"
	fmt.Println("x = ", x)    // 应该输出 "x = 4"
}

传指针的好处在哪?

defer
关键字defer:延迟调用。

package main
import "fmt"

//多个defer语句,按先进后出的方式执行。
func main() {
	for i := 0; i < 5; i++ {
		defer fmt.Println(i)
	}
}

输出:

4
3
2
1
0

Process finished with exit code 0
举报

相关推荐

Go语言学习(3)

go语言学习记录3

Go语言学习Day3

Go语言学习

go语言学习

0 条评论