2016-03-26 5 views

Antwort

6

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)) 
Verwandte Themen