1 回答

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
Go 編程語言規(guī)范
2019 年 5 月 14 日版本
整數(shù)文字
整數(shù)文字是表示整數(shù)常量的數(shù)字序列??蛇x前綴設(shè)置非十進(jìn)制基數(shù):0b 或 0B 表示二進(jìn)制,0、0o 或 0O 表示八進(jìn)制,0x 或 0X 表示十六進(jìn)制。單個(gè) 0 被視為十進(jìn)制零。在十六進(jìn)制文字中,字母 a 到 f 和 A 到 F 代表值 10 到 15。
為了便于閱讀,下劃線字符 _ 可能出現(xiàn)在基本前綴之后或連續(xù)數(shù)字之間;這樣的下劃線不會(huì)改變文字的值。
int_lit = decimal_lit | binary_lit | octal_lit | hex_lit .
decimal_lit = "0" | ( "1" … "9" ) [ [ "_" ] decimal_digits ] .
binary_lit = "0" ( "b" | "B" ) [ "_" ] binary_digits .
octal_lit = "0" [ "o" | "O" ] [ "_" ] octal_digits .
hex_lit = "0" ( "x" | "X" ) [ "_" ] hex_digits .
decimal_digits = decimal_digit { [ "_" ] decimal_digit } .
binary_digits = binary_digit { [ "_" ] binary_digit } .
octal_digits = octal_digit { [ "_" ] octal_digit } .
hex_digits = hex_digit { [ "_" ] hex_digit } .
對(duì)于 Go 1.13 及更高版本,請(qǐng)使用二進(jìn)制或十六進(jìn)制:
package main
import "fmt"
func main() {
b := byte(0b00010011)
fmt.Printf("%08b %02x\n", b, b)
x := byte(0x13)
fmt.Printf("%08b %02x\n", x, x)
}
輸出:
00010011 13
00010011 13
對(duì)于 Go 1.12 及更早版本,使用十六進(jìn)制:
package main
import "fmt"
func main() {
x := byte(0x13)
fmt.Printf("%08b %02x\n", x, x)
}
輸出:
00010011 13
- 1 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)