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://*.com/a/3039805/3558960) – 2014-10-29 03:45:36