最适合网络开发者的网站
Golang。初学者课程

尿素

Go 函数返回


返回值

如果希望函数返回一个值,则需要定义返回值的数据类型(例如 int, string等),也可以使用 return 函数内部的关键字:

句法

函数 函数名称(参数1 类型, 参数2 类型) 类型 {
  // 要执行的代码
返回 输出
}

函数返回示例

例子

这里, myFunction() 接收两个整数(xy)并返回它们的和(x + y) 作为整数(int):

软件包 main
导入(“fmt”)

func myFunction(x int, y int) int {
返回 x + y
}

函数main(){
fmt.Println(myFunction(1, 2))
}

结果:

3
亲自尝试 »

命名返回值

在 Go 中,你可以命名函数的返回值。

例子

这里,我们将返回值命名为 result (类型int),并使用裸返回返回值(意味着我们使用 return 语句而不指定变量名):

软件包 main
导入(“fmt”)

func myFunction(x int, y int) (结果 int) {
结果 = x + y
返回
}

函数main(){
fmt.Println(myFunction(1, 2))
}

结果:

3
亲自尝试 »

上面的例子也可以这样写。这里,return 语句指定了变量名:

例子

软件包 main
导入(“fmt”)

func myFunction(x int, y int) (结果 int) {
结果 = x + y
返回结果
}

函数main(){
fmt.Println(myFunction(1, 2))
}

将返回值存储在变量中

您还可以将返回值存储在变量中,如下所示:

例子

在这里,我们将返回值存储在名为 total:

软件包 main
导入(“fmt”)

func myFunction(x int, y int) (结果 int) {
结果 = x + y
返回
}

函数main(){
总计:= myFunction(1,2)
fmt.Println(总计)
}
亲自尝试 »

多个返回值

Go 函数也可以返回多个值。

例子

这里, myFunction() 返回一个整数(result)和一个字符串(txt1):

软件包 main
导入(“fmt”)

func myFunction(x int, y string) (result int, txt1 string) {
结果 = x + x
txt1 = y + “世界!”
返回
}

函数main(){
fmt.Println(myFunction(5, "Hello"))
}

结果:

10 Hello World!
亲自尝试 »

例子

在这里,我们将两个返回值存储到两个变量中(ab):

软件包 main
导入(“fmt”)

func myFunction(x int, y string) (result int, txt1 string) {
结果 = x + x
txt1 = y + “世界!”
返回
}

函数main(){
a,b := myFunction(5,“你好”)
fmt.Println(a,b)
}

结果:

10 Hello World!
亲自尝试 »

如果我们(出于某种原因)不想使用某些返回值,我们可以添加下划线(_),以省略该值。

例子

这里,我们要省略第一个返回值(result - 存储在变量中a):

软件包 main
导入(“fmt”)

func myFunction(x int, y string) (result int, txt1 string) {
结果 = x + x
txt1 = y + “世界!”
返回
}

函数main(){
_,b:= myFunction(5,“你好”)
fmt.Println(b)
}

结果:

Hello World!
亲自尝试 »

例子

这里,我们要省略第二个返回值(txt1 - 存储在变量中b):

软件包 main
导入(“fmt”)

func myFunction(x int, y string) (result int, txt1 string) {
结果 = x + x
txt1 = y + “世界!”
返回
}

函数main(){
a,_ := myFunction(5,“你好”)
fmt.Println(a)
}

结果:

10
亲自尝试 »