英文:
Cannot assign int to a variable in Go
问题
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
}
输出:
--------
/g.go:9: 无法在多重赋值中将int赋给aa(类型为INTEGER)<br>
./g.go:9: 无法在多重赋值中将int赋给bb(类型为INTEGER)
英文:
Go version - 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
}
Output:
/g.go:9: cannot assign int to aa (type INTEGER) in multiple assignment<br>
./g.go:9: cannot assign int to bb (type INTEGER) in multiple assignment
答案1
得分: 7
type
创建了一个新的类型,所以这显然会失败。你必须显式地将int
类型的值转换为INTEGER
类型:
aaInt, bbInt := F(100, 50)
aa, bb = INTEGER(aaInt), INTEGER(bbInt)
英文:
type
creates a new type, so this will obviously fail. You have to explicitly convert the values from int
to INTEGER
:
aaInt, bbInt := F(100, 50)
aa, bb = INTEGER(aaInt), INTEGER(bbInt)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论