Menu
CoddyTech

函数参数

Coddy Golang 中的函数和指针 课程的第 5 课,共 19 课。

上一课中,我们编写了第一个函数。它是一个简单的函数,不接受任何参数,只会向屏幕打印一条消息。

现在,假设我们想创建一个计算两个值之和的函数。该怎么做呢?我们可以这样写:

func sum() {
    fmt.Println("result = ", value1 + value2)
}

你应该很容易理解,对吧?我们在这里把两个值相加,然后打印结果。但这里确实有个问题:value1 和 value2 没有定义。这个函数怎么知道要把哪些值相加呢?这就要用到实参或参数了。我们把函数要接收的参数放在括号里,如下所示:

func sum(v1, v2 int) {
    fmt.Println("result =", v1+v2)
}

使用 sum(v1, v2 int) 这种语法,表示这个函数会接收 两个 int 类型的值,我们可以在函数体中按需使用它们。在这个例子中,我们只打印两个值相加的结果:fmt.Println("result = ", v1 + v1)。

调用这个函数时,我们可以传入任意两个值,函数会为我们计算它们的和:

func main() {
    sum(12, 44)
}

输出结果是:

result = 56

我们也可以按需调用这个函数。例如:

func main() {
    sum(12, 44)
    sum(100, 399)
}

输出结果是:

result = 56
result = 400

这里我们只举了整数类型的例子,但参数可以根据情况使用任何类型。一个函数中也可以使用不同类型的参数,例如:

functionName(v1 int, v2 string)
challenge icon

挑战

简单

编写一个名为 coddy 的函数,它接收两个参数:类型为 string 的 s 和类型为 int 的 n,并将字符串 s 输出到屏幕上 n 次。

示例:

输入:s = "Golang",n = 2

输出:

Golang
Golang

亲手试试

import "fmt"

// 在这里编写你的代码

Golang 中的函数和指针中的所有课

自己练习: Go 在线编译器