无法将int分配给Go中的变量

-4 int go

去版本 - 1.2.1

package main

import "fmt"

func main(){
    type INTEGER int
    var aa INTEGER
    var bb INTEGER
    aa, bb = F(100,50)
    fmt.Println(aa,bb)
}

func F(a int, b int) (sum int, difference int){
    return a+b, a-b
}
Run Code Online (Sandbox Code Playgroud)

输出:

/g.go:9:无法在多次赋值
中将int 赋值给aa(类型为INTEGER)./g.go:9:无法在多次赋值中将int赋值给bb(类型为INTEGER)

rig*_*old 8

type创建一个新类型,所以这显然会失败.您必须将值显式转换intINTEGER:

aaInt, bbInt := F(100, 50)
aa, bb = INTEGER(aaInt), INTEGER(bbInt)
Run Code Online (Sandbox Code Playgroud)