函数返回

收藏733

阅读2680

更新时间2025-08-13

返回值

如果你想让函数返回值,你需要定义返回值的数据类型(如 intstring 等),同时在函数内部使用 return 关键字:

语法

func FunctionName(param1 type, param2 type) type {
  // 要执行的代码
  return output
}

实例:函数返回

实例

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

package main
import ("fmt")

func myFunction(x int, y int) int {
  return x + y
}

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

结果:

3

命名返回值

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

实例

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

package main
import ("fmt")

func myFunction(x int, y int) (result int) {
  result = x + y
  return
}

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

结果:

3

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

实例

package main
import ("fmt")

func myFunction(x int, y int) (result int) {
  result = x + y
  return result
}

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

将返回值存储在变量中

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

实例

在这里,我们将返回值存储在一个名为 total 的变量中:

package main
import ("fmt")

func myFunction(x int, y int) (result int) {
  result = x + y
  return
}

func main() {
  total := myFunction(1, 2)
  fmt.Println(total)
}

多个返回值

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

实例

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

package main
import ("fmt")

func myFunction(x int, y string) (result int, txt1 string) {
  result = x + x
  txt1 = y + " World!"
  return
}

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

结果:

10 Hello World!

实例

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

package main
import ("fmt")

func myFunction(x int, y string) (result int, txt1 string) {
  result = x + x
  txt1 = y + " World!"
  return
}

func main() {
  a, b := myFunction(5, "Hello")
  fmt.Println(a, b)
}

结果:

10 Hello World!

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

实例

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

package main
import ("fmt")

func myFunction(x int, y string) (result int, txt1 string) {
  result = x + x
  txt1 = y + " World!"
  return
}

func main() {
   _, b := myFunction(5, "Hello")
  fmt.Println(b)
}

结果:

Hello World!

实例

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

package main
import ("fmt")

func myFunction(x int, y string) (result int, txt1 string) {
  result = x + x
  txt1 = y + " World!"
  return
}

func main() {
   a, _ := myFunction(5, "Hello")
  fmt.Println(a)
}

结果:

10

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号