Explicación detallada del paquete strconv en Golang

strconv es un paquete muy utilizado en Golang, principalmente para la conversión entre cadenas y tipos de datos básicos. Este artículo presentará las funciones comunes y el uso del paquete strconv en detalle.

strconv.Atoi y strconv.Itoa

La función Atoi se usa para convertir una cadena a un tipo int, y la función Itoa se usa para convertir un tipo int a un tipo de cadena. Un ejemplo de uso simple es el siguiente:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    intValue, _ := strconv.Atoi(str)
    fmt.Printf("str to int: %d\n", intValue)

    intValue += 1
    str = strconv.Itoa(intValue)
    fmt.Printf("int to str: %s\n", str)
}

Funciones de la serie strconv.Parse

La serie de funciones strconv.Parse se utiliza para analizar una cadena en un tipo específico. Entre las funciones más utilizadas se encuentran ParseInt, ParseBool y ParseFloat. Un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 解析整数
	intStr := "123"
	intValue, _ := strconv.ParseInt(intStr, 10, 64)
	fmt.Printf("Parsed int value: %d\n", intValue)

	// 解析布尔值
	boolStr := "true"
	boolValue, _ := strconv.ParseBool(boolStr)
	fmt.Printf("Parsed bool value: %t\n", boolValue)

	// 解析浮点数
	floatStr := "3.14"
	floatValue, _ := strconv.ParseFloat(floatStr, 64)
	fmt.Printf("Parsed float value: %f\n", floatValue)
}

strconv.Format serie de funciones

La serie de funciones strconv.Format se utiliza para convertir tipos de datos básicos en tipos de cadena. Las funciones comúnmente utilizadas son FormatInt, FormatBool y FormatFloat. Un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 格式化整数
	intValue := 123
	intStr := strconv.FormatInt(int64(intValue), 10)
	fmt.Printf("Formatted int string: %s\n", intStr)

	// 格式化布尔值
	boolValue := true
	boolStr := strconv.FormatBool(boolValue)
	fmt.Printf("Formatted bool string: %s\n", boolStr)

	// 格式化浮点数
	floatValue := 3.14
	floatStr := strconv.FormatFloat(floatValue, 'f', -1, 64)
	fmt.Printf("Formatted float string: %s\n", floatStr)
}

Funciones de la serie strconv.Append

La serie de funciones strconv.Append se utiliza para agregar tipos de datos básicos a una matriz de bytes existente. Las funciones comúnmente utilizadas son AppendInt, AppendBool y AppendFloat. Un ejemplo de uso simple es el siguiente:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // 追加整数到字节数组
    num1 := 123
    byteSlice := []byte("Number: ")
    byteSlice = strconv.AppendInt(byteSlice, int64(num1), 10)
    fmt.Printf("Appended int: %s\n", byteSlice)

    // 追加布尔值到字节数组
    boolVal := true
    byteSlice = []byte("Bool: ")
    byteSlice = strconv.AppendBool(byteSlice, boolVal)
    fmt.Printf("Appended bool: %s\n", byteSlice)

    // 追加浮点数到字节数组
    floatVal := 3.14
    byteSlice = []byte("Float: ")
    byteSlice = strconv.AppendFloat(byteSlice, floatVal, 'f', -1, 64)
    fmt.Printf("Appended float: %s\n", byteSlice)
}

strconv.IsPrint o strconv.IsGraphic

La función strconv.IsPrint se usa para determinar si un carácter Unicode determinado es imprimible, y los caracteres imprimibles se refieren a aquellos caracteres que se pueden mostrar en la pantalla. La función strconv.IsGraphic se utiliza para determinar si un carácter Unicode dado es un carácter gráfico y un carácter gráfico se refiere a un carácter visual. Un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	chars := []rune{'H', 'e', 'l', '\n', '♥', 127}
	for _, char := range chars {
		fmt.Printf("Character: %c, IsPrint: %v\n", char, strconv.IsPrint(char))
		fmt.Printf("Character: %c, IsGraphic: %v\n", char, strconv.IsGraphic(char))
	}
}

Funciones de serie strconv.Quote y strconv.Unquote

La serie de funciones strconv.Quote se utiliza para escapar y citar funciones de cadena, convirtiendo una cadena en un valor literal de cadena (literal) que se puede representar directamente, incluida la adición de caracteres de escape y comillas. Un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := `路多辛的, "所思所想"!`

	quoted := strconv.Quote(str)
	fmt.Println("Quoted: ", quoted)

	unquoted, err := strconv.Unquote(quoted)
	if err != nil {
		fmt.Println("Unquote error: ", err)
	} else {
		fmt.Println("Unquoted: ", unquoted)
	}
}

strconv.CanBackquote

La función strconv.CanBackquote se utiliza para verificar si una cadena se puede representar sin cambios como una cadena entre comillas inversas de una sola línea (es decir, una cadena que comienza y termina con ``). Un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str1 := "Hello, world!"
	str2 := "`Hello, world!`"
	str3 := "`Hello,\nworld!`"

	fmt.Println(strconv.CanBackquote(str1)) // 输出:false
	fmt.Println(strconv.CanBackquote(str2)) // 输出:true
	fmt.Println(strconv.CanBackquote(str3)) // 输出:false
}

Supongo que te gusta

Origin blog.csdn.net/luduoyuan/article/details/131445019
Recomendado
Clasificación