int64中Golang大小为[] byte

The*_*ist 0 go

//data = file in []byte 
length := len(data)
Run Code Online (Sandbox Code Playgroud)

length是在类型int.我需要找到长度int64.我只有[]byte文件的数据.如何找到数据的大小int64

Cer*_*món 7

转换int一种int64:

l := int64(len(data))
Run Code Online (Sandbox Code Playgroud)

切片的长度保证适合int.如果文件大于a可以表示的文件int,那么就不可能将整个文件读入[]字节.

  • @Thellimist [规范](https://golang.org/ref/spec#Slice_types)没有直接说出来,但它暗示了.规范声明`len`返回一个`int`.规范声明切片的元素可以从0索引到'len(s)-1`.因此,切片的长度不能大于最大的"int".另请参见讨论[此处](http://stackoverflow.com/a/27647793/4130971). (3认同)
  • @Thellimist 请记住,int/uint 在 32 位机器上是 32 位,在 64 位机器上是 64 位。 (3认同)