dou4121 2019-09-16 16:08
浏览 17
已采纳

为什么在输出中忽略_(下划线)?

I would like to know the reason behind the output of this program.

package main

Program

import (
    "fmt"
)

func main() {
    a := 1_00_000
    fmt.Println(a)
}

Output

100000

How come the underscore is ignored in the output. What is the use of this new feature in Go?

  • 写回答

2条回答 默认 最新

  • dongliaojing0554 2019-09-16 16:27
    关注

    It's not ignored in the output; it's ignored in the source code. The underscores are a convenience to make large number literals in code easier to read; the literal is still an integer, and integers don't contain underscores. You could always use a string of course:

    a := "1_00_000"
    fmt.Println(a)
    

    Underscores as separators were added as a new feature in Go 1.13: https://golang.org/doc/go1.13#language

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?