【发布时间】:2024-04-23 09:25:01
【问题描述】:
代码sn-p喜欢这样:
package main
import (
"fmt"
"encoding/binary"
"reflect"
)
const (
commandLen = 1
bufLen int = 4
)
func main(){
fmt.Printf("%v %v\n", reflect.TypeOf(commandLen), reflect.TypeOf(bufLen))
fmt.Printf("%d %d", binary.Size(commandLen), binary.Size(bufLen))
}
输出是:
int int
-1 -1
我认为由于 commandLen 和 bufLen 的类型是 int 的,并且来自“用 golang 编程”, int 应该是 int32 或 int64,这取决于实现,所以我认为 binary.Size() 应该返回一个值,而不是 (-1)。
为什么 binary.Size() 返回 (-1)?
【问题讨论】:
标签: go