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.