go函数返回多个值(详细)

在Go语言中,允许使用return语句从一个函数返回多个值。换句话说,在函数中,单个return语句可以返回多个值。返回值的类型类似于参数列表中定义的参数的类型。

语法:

func function_name(parameter_list)(return_type_list){
     // code...
}
  • function_name:它是函数的名称。

  • parameter-list:它包含函数参数的名称和类型。

  • return_type_list:这是可选的,它包含函数返回的值的类型。如果在函数中使用return_type,就必须在函数中使用return语句。

实例:

package main

import "fmt"

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("Google", "Runoob")
   fmt.Println(a, b)
}

结果为:

Runoob Google

为返回值命名

在Go语言中,允许为返回值提供名称。你也可以在代码中使用这些变量名。没有必要用return语句来编写这些名称,因为Go编译器将自动理解这些变量必须被分派回去。这种类型的回报被称为裸回报。简单的返回减少了程序中的重复。

语法:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}
或
func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

name1name2是返回值的名称,而para1和para2是函数的参数

package main
import "fmt"
// myfunc返回2个int类型的值
//这里是返回值名称
//是rectangle and square
func myfunc(p, q int) (rectangle int, square int) {
  rectangle = p * q
  square = p * p
  return
}
func main() {
  //将返回值分配到
  //两个不同的变量
  var area1, area2 = myfunc(2, 4)
  fmt.Printf("矩形面积为: %d", area1)
  fmt.Printf("\n正方形面积为: %d", area2)
}

结果:

矩形面积为: 8
正方形面积为: 4

参考:https://www.nhooo.com/golang/function-returning-multiple-values-in-go-language.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值