菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Go 函数返回值


返回值

如果你希望函数返回一个值,你需要定义返回值的**数据类型**(例如 `int`, `string` 等),并在函数内部使用 **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),并使用裸返回( naked return )返回该值(意味着我们使用 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!
自己动手试一试 »

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

示例

在这里,我们想忽略第一个返回值(result - 存储在变量 a 中)。

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!
自己动手试一试 »

示例

在这里,我们想忽略第二个返回值(txt1 - 存储在变量 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, _ := myFunction(5, "Hello")
  fmt.Println(a)
}

结果

10
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持