The Go Programming Language Specification
Constants
eine nicht typisierte Konstante hat einen Standardtyp, der die Art ist, auf die die Konstante implizit in Kontexten umgewandelt wird, wo eine typisierte Wert erforderlich. Der Standardtyp einer nicht typisierten Konstanten ist bool, rune, int, float64, complex128 oder string, je nachdem, ob es sich um eine boolesche, Runen-, Ganzzahl-, Gleitkomma-, komplexe oder String-Konstante 10 handelt.
func Println(a ...interface{}) (n int, err error)
fmt.Println(math.MaxUint32)
math.MaxUint32
ist eine nicht typisierte ganzzahlige Konstante daß Standardwerte int
in diesem Zusammenhang zu geben, eine nicht typisierte ganzzahlige Konstante Argument für einen Typ interface{}
Parameter.
int
ist eine 32- oder 64-Bit-Ganzzahl mit Vorzeichen, abhängig von der Implementierung.
const (
MaxInt32 = 1<<31 - 1
MaxUint32 = 1<<32 - 1
)
MaxUint32
größer als MaxInt32
. Wenn Sie go env
ausführen, sollten Sie sehen, dass Sie eine 32-Bit-Architektur verwenden, zum Beispiel GOARCH="386"
.
Sie die Standard-32-Bit-int
Art nicht akzeptieren. Verwenden Sie eine kompatible Typumwandlung. Schreiben Sie zum Beispiel
fmt.Println(uint32(math.MaxUint32))