Smart猫小萌
Go 具有复数作为内置数值类型,包括对复数文本的支持。它们是一个相对晦涩的功能,但它们使用相当标准的符号。混淆的原因可能是您有此变量 。该变量实际上未在程序中使用。您看到的“i”字符实际上被复数字面量消耗。它与变量无关。i2 * 2ii尝试像这样向下移动变量声明:func main() { var i = 2 j := 2 * 2i fmt.Println(j)}你会看到你实际上得到了一个编译器错误:i declared but not used您可以在此处查看语言功能的文档:https://golang.org/ref/spec#Imaginary_literals