2 回答

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
Go 編程語言規(guī)范
數(shù)字類型
還有一組具有特定于實(shí)現(xiàn)的大小的預(yù)先聲明的數(shù)字類型:
uint?????either?32?or?64?bits int??????same?size?as?uint
的大小int取決于編譯器編寫者。對(duì)于主機(jī)來說,它通常是一個(gè)自然、有效的大小。例如,amd64 上為 64 位,386 架構(gòu)上為 32 位。
例如,
package main
import (
? ? "fmt"
? ? "runtime"
? ? "strconv"
)
func main() {
? ? fmt.Println(runtime.GOARCH, strconv.IntSize)
}
輸出:
$ uname -p
x86_64
$ go run intsize.go
amd64 64
$?

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
據(jù)推測(cè), an 的大小int
是由實(shí)現(xiàn)定義的,這意味著它會(huì)根據(jù)操作系統(tǒng)和內(nèi)核架構(gòu)的不同而因平臺(tái)而異。大多數(shù)編程語言(例如 C)都是這種情況。
如果您必須精確地?fù)碛幸粋€(gè) 64 位整數(shù),那么該int64
類型就存在,這將保證您的整數(shù)中恰好有 64 位。與 、 等相同int32
。int16
否則,文檔建議使用int
,因?yàn)榫幾g器可以更輕松地優(yōu)化代碼。
- 2 回答
- 0 關(guān)注
- 145 瀏覽
添加回答
舉報(bào)