Heim > Backend-Entwicklung > Golang > golang int cast

golang int cast

WBOY
Freigeben: 2023-05-13 10:10:37
Original
881 Leute haben es durchsucht

In Golang ist der Int-Typ der Standardtyp des Integer-Typs. Im Programm kann es jedoch vorkommen, dass int umgewandelt werden muss, z. B. beim Konvertieren von int in andere Integer-Typen, beim Konvertieren des Float-Typs in den Int-Typ usw. In diesem Artikel wird die Zwangsmethode des Typs int in Golang untersucht.

  1. Int in andere Ganzzahltypen konvertieren

In Golang ist der int-Typ standardmäßig 32-Bit (4 Bytes) oder 64-Bit (8 Bytes) und sein Wertebereich ist $-2^{31} bzw. $ zu $2^{31}-1$ und $-2^{63}$ zu $2^{63}-1$, abhängig von der Maschinenarchitektur, auf der es läuft. Wenn Sie den int-Typ in andere Ganzzahltypen konvertieren müssen (z. B. int8, int16, int3, int64, uint8, uint16, uint32, uint64), müssen Sie ihn durch Typkonvertierung implementieren.

Die spezifische Methode lautet wie folgt:

var a int = 100
var b int8 = int8(a)   // 将 int 类型转换为 int8 类型
var c int16 = int16(a) // 将 int 类型转换为 int16 类型
var d int32 = int32(a) // 将 int 类型转换为 int32 类型
var e int64 = int64(a) // 将 int 类型转换为 int64 类型
var f uint8 = uint8(a) // 将 int 类型转换为 uint8 类型
var g uint16 = uint16(a) // 将 int 类型转换为 uint16 类型
var h uint32 = uint32(a) // 将 int 类型转换为 uint32 类型
var i uint64 = uint64(a) // 将 int 类型转换为 uint64 类型
Nach dem Login kopieren

Es ist zu beachten, dass unterschiedliche Typkonvertierungen zu Genauigkeitsverlusten oder Überlaufproblemen führen und Sie den geeigneten Datentyp entsprechend dem jeweiligen Szenario auswählen müssen.

  1. Float-Typ in Int-Typ konvertieren

In Golang wird der Float-Typ zum Speichern von Gleitkommazahlen verwendet, und sein Standardtyp ist float64. Wenn Sie den Float-Typ in den Int-Typ konvertieren müssen, müssen Sie die Methoden Round(), Floor() oder Ceil() unter dem von Golang bereitgestellten Mathematikpaket verwenden. Diese Methoden können den Float abrunden oder aufrunden Typ.

Die spezifische Methode lautet wie folgt:

import "math"

var a float64 = 123.56

var b int = int(math.Round(a)) // 四舍五入
var c int = int(math.Floor(a)) // 向下取整
var d int = int(math.Ceil(a))  // 向上取整
Nach dem Login kopieren

Es ist zu beachten, dass beim Konvertieren von Gleitkommazahlen in Ganzzahltypen Präzisionsverluste oder Überlaufprobleme auftreten können. Daher muss die Wahl des Datentyps vor der Konvertierung sorgfältig überlegt werden, ebenso wie die Ausnahmen, die während des Konvertierungsprozesses auftreten können.

  1. Int-Typ in String-Typ konvertieren

In Golang müssen Sie zum Konvertieren des Int-Typs in einen String-Typ die Itoa()-Methode verwenden, die im strconv-Paket enthalten ist. Diese Methode kann einen Integer-Typ in den entsprechenden String-Typ konvertieren.

Die spezifische Methode lautet wie folgt:

import "strconv"

var a int = 123

var b string = strconv.Itoa(a) // 将 int 类型的 a 转换为字符串类型
Nach dem Login kopieren

Es ist zu beachten, dass die Itoa()-Methode nur den Typ int in einen String-Typ konvertieren und nur Standard-Ganzzahlformate unterstützen kann. Wenn Sie Ganzzahlen in anderen Formaten in Zeichenfolgentypen konvertieren müssen, müssen Sie die von Golang bereitgestellte formatierte Ausgabemethode verwenden.

Das Obige ist die erzwungene Konvertierungsmethode des int-Typs in Golang. Sie müssen den geeigneten Datentyp entsprechend der spezifischen Situation auswählen und die abnormalen Situationen, die während des Konvertierungsprozesses auftreten können, sorgfältig behandeln, um die Korrektheit des Programmbetriebs sicherzustellen .

Das obige ist der detaillierte Inhalt vongolang int cast. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage