返回值缺少 go 类型

为什么没有对以下代码发出警告?


$ cat ret.go

package main

import "fmt"

func foobar(x int, y int) (z, w int) {

    if x+y > 100 {

         _,w = 3,5

    } else {

        _,w = "MMM",9

    }

    return z,w

}


func main() {

    var x int

    _,x = foobar(42,13)

    fmt.Println(x)

}

$ go build -gcflags=-l ret.go

至少,go编译器应该知道大小对吗?z


汪汪一只猫
浏览 62回答 1
1回答

MMMHUHU

在 golang 中,您可以在一行中定义多个变量,如下所示:var identifier1, identifier2 type因此,这里都声明为 .z, wint另外,请参阅以下内容:函数的返回值可以在戈朗中命名然后,如果不为 赋值,它将具有默认值 ,即 。所以,没有警告,代码是可以的。zint0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go