Go语言学习(3)

老榆

关注

阅读 93

2022-02-25

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

精彩评论(0)

0 0 举报