我想知道该程序输出背后的原因。
package main
程序
import (
"fmt"
)
func main() {
a := 1_00_000
fmt.Println(a)
}
输出
100000
为什么下划线在输出中被忽略。 Go中此新功能的用途是什么?
答案 0 :(得分:5)
在输出中不会被忽略;在源代码中将其忽略。下划线是使代码中的大量文字更易于阅读的便利;文字仍然是整数,并且整数不包含下划线。当然,您总是可以使用字符串:
a := "1_00_000"
fmt.Println(a)
下划线作为分隔符已添加为Go 1.13中的一项新功能:https://golang.org/doc/go1.13#language
答案 1 :(得分:3)
下划线只是数字分隔符。Go1.13中引入了此新功能以提高可读性。它不会与数字一起打印。
可以使用下划线将任何数字文字的数字分开(分组),例如在1_000_000、0b_1010_011中加下划线,以使其更具可读性。
d := 9795696874578
d := 9_795_696_874_578 // thousand separators
这里强调的文字更容易阅读。