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

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?

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

Underscores are just digit separators.This new feature is introduced in Go 1.13 to improve readability.It is not printed along with the number.

The digits of any number literal can be separated (grouped) using underscores, such as in 1_000_000, 0b_1010_011 to make it more readable.

d := 9795696874578
d := 9_795_696_874_578 // thousand separators

Here underscored literals are much easier to read.