コード スニペットは次のようになります。
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) を返すのはなぜですか?