Golang中2*2i的奇怪结果
Golang中2*2i的奇怪结果,go,Go,主程序包 输入“fmt” 变量i=2 func main(){ j:=2*2i fmt.Println(j) } 为什么结果是(0+4i)?有人能解释清楚吗?Go是一种内置的数字类型,包括对复杂文本的支持。它们是一个相对模糊的特性,但它们使用了相当标准的符号 造成混淆的原因可能是您有此变量i。该变量实际上未在程序中使用。您在2*2i中看到的“i”字符实际上被复数文字所使用。它与变量i无关 尝试按如下方式向下移动变量声明: func main(){ 变量i=2 j:=2*2i fmt.Print
主程序包
输入“fmt”
变量i=2
func main(){
j:=2*2i
fmt.Println(j)
}
为什么结果是(0+4i)
?有人能解释清楚吗?Go是一种内置的数字类型,包括对复杂文本的支持。它们是一个相对模糊的特性,但它们使用了相当标准的符号
造成混淆的原因可能是您有此变量i
。该变量实际上未在程序中使用。您在2*2i
中看到的“i”字符实际上被复数文字所使用。它与变量i
无关
尝试按如下方式向下移动变量声明:
func main(){
变量i=2
j:=2*2i
fmt.Println(j)
}
您将看到,实际上出现了一个编译器错误:
我声明但未使用
您可以在此处查看语言功能的文档:
2i
是一个复数。2*2i=4i
。我想你想要2*2*I
。