-2
我可以在Go,Java和C#中聲明的數組的最大長度是多少?它與運行時的最大內存有關嗎?或者他們是否有標準?Go,Java和C#中數組的最大長度是多少?
我可以在Go,Java和C#中聲明的數組的最大長度是多少?它與運行時的最大內存有關嗎?或者他們是否有標準?Go,Java和C#中數組的最大長度是多少?
The Go Programming Language Specification
數組是一種單一類型的元素的編號序列,稱爲 元素類型。元素的數量稱爲長度,並且從不是負數。
長度是數組類型的一部分;它必須評估爲 非負常數,可用
int
類型的值表示。數字類型表示集整數或浮點值的。
沒有與 特定於實現的尺寸的一組預聲明的數字類型的:
uint the set of all unsigned integers, either 32 or 64 bits int the set of all signed integers, same size as uint
轉到陣列長度爲int
類型的值,這是一個32位或64位帶符號的整數,這取決於編譯體系結構(GOARCH),例如386或amd64。它也受到任何硬件或操作系統內存大小的限制。
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println("int is", strconv.IntSize, "bits on", runtime.GOARCH)
}
輸出:
int is 64 bits on amd64
在Java中,'陣列的length'是一個'int'字段,所以陣列的最大長度由'Integer.MAX_VALUE'確定。 – 2014-10-29 03:43:59
..並且在.NET中與'int.MaxValue'類似。 – 2014-10-29 03:45:35
@LuiggiMendoza看起來是'Integer.MAX_VALUE - 5'。請參閱[這裏](http://stackoverflow.com/a/3039805/3558960) – 2014-10-29 03:45:36