Konvertierungsmethode: 1. Verwenden Sie die Funktion Atoi() im Paket strconv, um den String-Typ Integer in den Typ Int zu konvertieren. Die Syntax lautet „strconv.Atoi(string)“. 2. Verwenden Sie die Funktion ParseInt() im strconv-Paket, kann einen ganzzahligen Wert zurückgeben, der durch eine Zeichenfolge dargestellt wird (positive und negative Vorzeichen werden akzeptiert), die Syntax lautet „strconv.ParseInt(string,10,64)“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.18, Thinkpad T480-Computer.
So konvertieren Sie Strings und verschiedene int-Typen in Golang
string in int:
int, err := strconv.Atoi(string)
string in int64:
int64, err := strconv.ParseInt(string, 10, 64)
int in string:
string := strconv.Itoa(int)
int64 in string:
string := strconv.FormatInt(int64,10)
Einführung in strconv (Typkonvertierung) in der Go-Sprache
Das strconv
-Paket in der Go-Sprache implementiert die gegenseitige Konvertierung zwischen grundlegenden Datentypen und ihren Zeichenfolgendarstellungen. strconv
包实现了基本数据类型和其字符串表示的相互转换。
strconv包
strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()
、Itia()
、parse系列、format系列、append系列。
更多函数请查看官方文档。
string与int类型转换
这一组函数是我们平时编程中用的最多的。
Atoi()
Atoi()
函数用于将字符串类型的整数转换为int类型,函数签名如下。
func Atoi(s string) (i int, err error)
如果传入的字符串参数无法转换为int类型,就会返回错误。
s1 := "100" i1, err := strconv.Atoi(s1) if err != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%#v\n", i1, i1) //type:int value:100 }
Itoa()
Itoa()
函数用于将int类型数据转换为对应的字符串表示,具体的函数签名如下。
func Itoa(i int) string
示例代码如下:
i2 := 200s2 := strconv.Itoa(i2)fmt.Printf("type:%T value:%#v\n", s2, s2) //type:string value:"200"
Parse系列函数
Parse类函数用于转换字符串为给定类型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。
ParseBool()
func ParseBool(str string) (value bool, err error)
返回字符串表示的bool值。它接受1、0、t、f、T、F、true、false、True、False、TRUE、FALSE;否则返回错误。
ParseInt()
func ParseInt(s string, base int, bitSize int) (i int64, err error)
返回字符串表示的整数值,接受正负号。
base指定进制(2到36),如果base为0,则会从字符串前置判断,”0x”是16进制,”0”是8进制,否则是10进制;
bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;
返回的err是*NumErr类型的,如果语法有误,err.Error = ErrSyntax;如果结果超出类型范围err.Error = ErrRange。
ParseUnit()
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
ParseUint
类似ParseInt
strconv-Paket
strconv-Paket implementiert die Konvertierung grundlegender Datentypen und ihrer Zeichenfolgendarstellungen. Es verfügt hauptsächlich über die folgenden allgemeinen Funktionen:Atoi()
, Itia()< /code >, Serie analysieren, Serie formatieren, Serie anhängen. <p></p>Weitere Funktionen finden Sie in der offiziellen Dokumentation. <p></p><p></p>String- und Int-Typkonvertierung<p><strong></strong></p>Dieser Funktionssatz wird in unserer täglichen Programmierung am häufigsten verwendet. Die Funktion <p></p><p>Atoi()<strong><span style="font-size: 18px;"></span><code>Atoi()
wird verwendet, um den String-Typ Integer in den Int-Typ zu konvertieren. Die Funktionssignatur lautet wie folgt. func ParseFloat(s string, bitSize int) (f float64, err error)
Wenn der eingehende String-Parameter nicht in den Typ int konvertiert werden kann, wird ein Fehler zurückgegeben. Die Funktion
b, err := strconv.ParseBool("true") f, err := strconv.ParseFloat("3.1415", 64) i, err := strconv.ParseInt("-2", 10, 64) u, err := strconv.ParseUint("2", 10, 64)
Itoa()
Itoa()
wird verwendet, um i
func FormatBool(b bool) string
func FormatInt(i int64, base int) string
Parse-Klassenfunktionen werden verwendet, um Zeichenfolgen in Werte eines bestimmten Typs umzuwandeln: ParseBool(), ParseFloat(), ParseInt() , ParseUint().
ParseBool()
func FormatUint(i uint64, base int) string
ParseInt()
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
ParseUnit()
🎜s1 := strconv.FormatBool(true) s2 := strconv.FormatFloat(3.1415, 'E', -1, 64) s3 := strconv.FormatInt(-2, 16) s4 := strconv.FormatUint(2, 16)
ParseUint
ähnelt ParseInt
, akzeptiert jedoch keine positiven und negativen Vorzeichen und wird für vorzeichenlose Ganzzahlen verwendet. 🎜🎜🎜ParseFloat()🎜🎜func IsPrint(r rune) bool
func CanBackquote(s string) bool
s1 := strconv.FormatBool(true) s2 := strconv.FormatFloat(3.1415, 'E', -1, 64) s3 := strconv.FormatInt(-2, 16) s4 := strconv.FormatUint(2, 16)
其他
isPrint()
func IsPrint(r rune) bool
返回一个字符是否是可打印的,和unicode.IsPrint
一样,r必须是:字母(广义)、数字、标点、符号、ASCII空格。
CanBackquote()
func CanBackquote(s string) bool
返回字符串s是否可以不被修改的表示为一个单行的、没有空格和tab之外控制字符的反引号字符串。
其他
除上文列出的函数外,strconv
包中还有Append系列、Quote系列等函数。具体用法可查看官方文档。
推荐学习:Golang教程
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen String in den Typ int in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!