【发布时间】:2021-07-02 03:21:55
【问题描述】:
Go doesn't have dynamic variables.
也就是说,我想知道变量“a”是什么,在下面的这个程序中,一旦我可以将它用作整数和字符串。即使是条件语句也可以很好地使用它
package main
import (
"fmt"
)
func main() {
var a interface{}
myInt := 1
myString := "hi"
a = myInt
if a == 1 {
fmt.Println("equals to 1")
}
a = myString
if a == "hi" {
fmt.Println(a)
}
}
【问题讨论】:
-
也许这个例子会有所帮助:play.golang.org/p/wjlz9rluakh
-
条件表达式可能有效,但您不能将其用作 int 或字符串。例如,您不能使用
a + 1。 -
"我可以将接口用作动态变量吗?"问也没有意义。 Go 中没有“动态变量”(无论这意味着什么)。 Go 1 中有一定数量的多态性,这是通过接口类型完成的。请参加 Go 之旅以了解接口。