Функция conv.ToInt32
Функция conv.ToInt32 преобразует переданное значение в тип int32.
Она принимает один параметр - значение любого типа, которое необходимо преобразовать.
Функция возвращает преобразованное значение типа int32.
Если преобразование невозможно, функция может вызвать панику или вернуть значение по умолчанию
в зависимости от реализации. В стандартной библиотеке Go нет встроенной функции conv.ToInt32,
поэтому мы рассмотрим, как реализовать такое преобразование самостоятельно.
Синтаксис
conv.ToInt32(value)
Пример
Давайте преобразуем целое число в int32:
package main
import (
"fmt"
"strconv"
)
func ToInt32(v interface{}) int32 {
switch val := v.(type) {
case int:
return int32(val)
case int32:
return val
case int64:
return int32(val)
case float64:
return int32(val)
case string:
if i, err := strconv.ParseInt(val, 10, 32); err == nil {
return int32(i)
}
return 0
default:
return 0
}
}
func main() {
res := ToInt32(42)
fmt.Println(res)
}
Результат выполнения кода:
42
Пример
Давайте преобразуем строку в int32:
package main
import (
"fmt"
"strconv"
)
func ToInt32(v interface{}) int32 {
switch val := v.(type) {
case int:
return int32(val)
case int32:
return val
case int64:
return int32(val)
case float64:
return int32(val)
case string:
if i, err := strconv.ParseInt(val, 10, 32); err == nil {
return int32(i)
}
return 0
default:
return 0
}
}
func main() {
res := ToInt32("12345")
fmt.Println(res)
}
Результат выполнения кода:
12345
Пример
Давайте преобразуем число с плавающей точкой в int32
(при этом дробная часть будет отброшена):
package main
import (
"fmt"
"strconv"
)
func ToInt32(v interface{}) int32 {
switch val := v.(type) {
case int:
return int32(val)
case int32:
return val
case int64:
return int32(val)
case float64:
return int32(val)
case string:
if i, err := strconv.ParseInt(val, 10, 32); err == nil {
return int32(i)
}
return 0
default:
return 0
}
}
func main() {
res := ToInt32(12345.67)
fmt.Println(res)
}
Результат выполнения кода:
12345
Смотрите также
-
функцию
conv.ToInt,
которая преобразует значение в типint -
функцию
conv.ToInt8,
которая преобразует значение в типint8 -
функцию
conv.ToInt16,
которая преобразует значение в типint16 -
функцию
conv.ToInt64,
которая преобразует значение в типint64