Se necesitan varios tipos de conversiones de strings al realizar tareas en Golang. El paquete strconv se importa para realizar conversiones hacia y desde strings.
Conversión de string a booleana
ParseBool se usa para convertir una string en un valor booleano. Acepta 1, t, T, TRUE, true, True como verdadero y 0, f, F, FALSE, false, False como falso . Cualquier otro valor devuelve un error y mostrará el valor como falso.
Ejemplo:
// Golang program to convert a string // into Boolean data type package main import ( "fmt" "reflect" "strconv" ) func main() { str := "GeeksforGeeks" fmt.Println("Before :", reflect.TypeOf(str)) fmt.Println("String value is: ", str) b, _ := strconv.ParseBool(str) fmt.Println("After :", reflect.TypeOf(b)) fmt.Println("Boolean value is: ", b, "\n") str1 := "t" fmt.Println("Before :", reflect.TypeOf(str1)) fmt.Println("String value is: ", str1) b1, _ := strconv.ParseBool(str1) fmt.Println("After :", reflect.TypeOf(b1)) fmt.Println("Boolean value is: ", b1, "\n") str2 := "0" fmt.Println("Before :", reflect.TypeOf(str2)) fmt.Println("String value is: ", str2) b2, _ := strconv.ParseBool(str2) fmt.Println("After :", reflect.TypeOf(b2)) fmt.Println("Boolean value is: ", b2, "\n") }
Producción:
Before : string String value is: GeeksforGeeks After : bool Boolean value is: false Before : string String value is: t After : bool Boolean value is: true Before : string String value is: 0 After : bool Boolean value is: false
Conversión de string a entero
La función ParseInt se utiliza para convertir una string en un valor entero. Interpreta una string en la base dada (0, 2 a 36) y tamaño de bits (0 a 64) y devuelve el valor correspondiente.
Ejemplo:
// Golang program to convert String // into Integer Data type package main import ( "fmt" "reflect" "strconv" ) func main() { str := "GeeksforGeeks" fmt.Println("Before :", reflect.TypeOf(str)) fmt.Println("String value is: ", str) i, _ := strconv.ParseInt(str, 10, 64) fmt.Println("After :", reflect.TypeOf(i)) fmt.Println("Integer value is: ", i, "\n") str1 := "100" fmt.Println("Before :", reflect.TypeOf(str1)) fmt.Println("String value is: ", str1) i1, _ := strconv.ParseInt(str1, 10, 64) fmt.Println("After :", reflect.TypeOf(i1)) fmt.Println("Integer value is: ", i1, "\n") }
Producción:
Before : string String value is: GeeksforGeeks After : int64 Integer value is: 0 Before : string String value is: 100 After : int64 Integer value is: 100
Conversión de string a flotante
ParseFloat se usa para convertir la string en tipo flotante con la precisión especificada por bitSize: 32 para float32 o 64 para float64. Cuando bitSize=32, el resultado aún tiene el tipo float64, pero será convertible a float32 sin cambiar su valor.
Ejemplo:
// Golang program to convert // String into Float Data type package main import ( "fmt" "reflect" "strconv" ) func main() { str := "3.1415926535" fmt.Println("Before :", reflect.TypeOf(str)) fmt.Println("String value is: ", str) f, _ := strconv.ParseFloat(str, 64) fmt.Println("After :", reflect.TypeOf(f)) fmt.Println("Float value is: ", f, "\n") str1 := "3.1415926535" fmt.Println("Before :", reflect.TypeOf(str1)) fmt.Println("String value is: ", str1) f1, _ := strconv.ParseFloat(str1, 32) fmt.Println("After :", reflect.TypeOf(f1)) fmt.Println("Float value is: ", f1, "\n") }
Producción:
Before : string String value is: 3.1415926535 After : float64 Float value is: 3.1415926535 Before : string String value is: 3.1415926535 After : float64 Float value is: 3.1415927410125732