手册
目录
如果你想让函数返回值,你需要定义返回值的数据类型(如 int、string 等),同时在函数内部使用 return 关键字:
func FunctionName(param1 type, param2 type) type {
// 要执行的代码
return output
}
这里,myFunction() 接收两个整数(x 和 y)并将它们的和 (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!
这里,我们将两个返回值存储在两个变量(a 和 b)中:
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
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习