¿Cómo convertir el tipo int y el tipo de cadena entre sí en Golang?

En el desarrollo diario, a menudo necesitamos convertir números en cadenas o cadenas en números. En Golang existen algunos métodos muy simples para lograr esta función, a continuación explicaremos en detalle cómo convertir entre tipo int y tipo cadena.

Usando el paquete strconv

Las funciones Itoa y Atoi proporcionadas por el paquete strconv se pueden utilizar para convertir entre tipo int y tipo cadena.

1. int a cadena

package main

import (
	"fmt"

	"strconv"
)

func main() {
	num := 123
	str := strconv.Itoa(num)
	fmt.Println(str) // 输出:"123"
}

Utilice la función Itoa para convertir el tipo int al tipo cadena. El uso de la función Itoa es muy simple: solo necesita pasar el valor int para convertirlo a la función y devolver la cadena convertida.

2. Convertir cadena a int

package main

import (
	"fmt"

	"strconv"
)

func main() {
	str := "456"
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("转换失败:", err)
	} else {
		fmt.Println(num) // 输出:456
	}
}

Utilice la función Atoi para convertir el tipo de cadena al tipo int. Solo necesita pasar la cadena a la función y devolver el valor int convertido y la posible información de error.

Usar paquete fmt

El paquete fmt también proporciona algunas funciones para completar la conversión entre tipo int y tipo cadena.

1. int a cadena

package main

import (
	"fmt"
)

func main() {
	num := 123
	str := fmt.Sprintf("%d", num)
	fmt.Println(str) // 输出:"123"
}

Utilice la función Sprintf en el paquete fmt para devolver una cadena formateada. Simplemente pase un marcador de posición "%d" y el valor int que se convertirá a la función.

2. Convertir cadena a int

package main

import (
	"fmt"
)

func main() {
	str := "456"
	var num int
	_, err := fmt.Sscanf(str, "%d", &num)
	if err != nil {
		fmt.Println("转换失败:", err)
	} else {
		fmt.Println(num) // 输出:456
	}
}

Utilice la función Sscanf en el paquete fmt para analizar una cadena en un valor int según el formato especificado. Simplemente pase la cadena a analizar, el marcador de posición "%d" y un puntero a una variable int a esta función, y el valor int correspondiente se analizará a partir de la cadena y se asignará a la variable especificada.

Utilice la biblioteca github.com/spf13/cast

La biblioteca de conversión es una biblioteca que se utiliza para la conversión entre diferentes tipos, es muy poderosa y, naturalmente, incluye la función de convertir entre tipo int y tipo cadena.

1. int a cadena

package main

import (
	"fmt"
	"github.com/spf13/cast"
)

func main() {
	num := 123
	str := cast.ToString(num)
	fmt.Println(str) // 输出:"123"
}

Puede utilizar la función ToString para convertir otros tipos en tipos de cadena simplemente pasando el valor que se va a convertir.

2. Convertir cadena a int

package main

import (
	"fmt"
	"github.com/spf13/cast"
)

func main() {
	str := "456"
	num := cast.ToInt(str) // 输出:456
	fmt.Println(num)
}

Puede usar la función ToInt para convertir otros tipos al tipo int, simplemente pase el valor a convertir.

package main

import (
	"fmt"
	"github.com/spf13/cast"
)

func main() {
	str := "路多辛的博客"
	num := cast.ToInt(str) // // 输出:0
	fmt.Println(num)
}

resumen

Este artículo presenta en detalle varios métodos para convertir tipos int y tipos de cadenas en Golang. Espero que estos métodos lo hagan sentir más cómodo al usar Golang.

Supongo que te gusta

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