РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1499 of 1593 menu

reflect.Type.ConvertibleTo

Метод reflect.Type.ConvertibleTo проверяет, можно ли преобразовать значение типа, представленного reflect.Type, к типу, переданному в качестве аргумента. Он возвращает true, если преобразование допустимо, и false в противном случае. В качестве единственного параметра метод принимает reflect.Type целевого типа, с которым сравнивается возможность преобразования.

Синтаксис

t.ConvertibleTo(u)

Пример

Давайте проверим, можно ли преобразовать тип int в тип int64:

package main import ( "fmt" "reflect" ) func main() { var src int = 42 var dst int64 srcType := reflect.TypeOf(src) dstType := reflect.TypeOf(dst) res := srcType.ConvertibleTo(dstType) fmt.Println(res) }

Результат выполнения кода:

true

Пример

Давайте проверим, можно ли преобразовать тип string в тип int:

package main import ( "fmt" "reflect" ) func main() { srcType := reflect.TypeOf("abcde") dstType := reflect.TypeOf(0) res := srcType.ConvertibleTo(dstType) fmt.Println(res) }

Результат выполнения кода:

false

Пример

Давайте проверим, можно ли преобразовать тип []int в тип []int64:

package main import ( "fmt" "reflect" ) func main() { srcType := reflect.TypeOf([]int{1, 2, 3, 4, 5}) dstType := reflect.TypeOf([]int64{}) res := srcType.ConvertibleTo(dstType) fmt.Println(res) }

Результат выполнения кода:

false

Пример

Давайте проверим, можно ли преобразовать тип int в тип interface{}:

package main import ( "fmt" "reflect" ) func main() { srcType := reflect.TypeOf(42) var dst interface{} dstType := reflect.TypeOf(dst) res := srcType.ConvertibleTo(dstType) fmt.Println(res) }

Результат выполнения кода:

true

Смотрите также

  • метод reflect.Type.AssignableTo,
    который проверяет возможность присваивания типов
  • метод reflect.Value.Convert,
    который выполняет фактическое преобразование значения
  • метод reflect.Type.Implements,
    который проверяет реализацию интерфейса
  • функцию reflect.TypeOf,
    которая возвращает тип значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить