阅读 189

Go 语言函数返回多个值

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

语法:

func function_name(parameter_list)(return_type_list){
     // code...}

这里,

  • function_name:它是函数的名称。

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

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

示例

package mainimport "fmt"// myfunc返回3个int类型的值func myfunc(p, q int) (int, int, int) {
    return p - q, p * q, p + q
}func main() {

    //将返回值分配到,三个不同的变量    var myvar1, myvar2, myvar3 = myfunc(4, 2)

    // 显示值    fmt.Printf("结果为: %d", myvar1)
    fmt.Printf("\n结果为: %d", myvar2)
    fmt.Printf("\n结果为: %d", myvar3)
}

输出:

结果为: 2结果为: 8结果为: 6

为返回值命名

在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 mainimport "fmt"// myfunc返回2个int类型的值//这里是返回值名称//是rectangle and squarefunc 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


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐