Константа reflect.Bool
Константа reflect.Bool представляет собой значение типа reflect.Kind,
которое идентифицирует логический тип данных. Она используется в пакете
reflect для определения, является ли значение типа bool.
При работе с рефлексией константа reflect.Bool позволяет
проверить тип значения и выполнить соответствующие операции,
такие как получение или установка логического значения.
Синтаксис
reflect.Bool
Пример
Давайте проверим, является ли значение типа bool с помощью константы reflect.Bool:
package main
import (
"fmt"
"reflect"
)
func main() {
var x bool = true
v := reflect.ValueOf(x)
if v.Kind() == reflect.Bool {
fmt.Println("Value is of type bool")
}
}
Результат выполнения кода:
"Value is of type bool"
Пример
Давайте получим логическое значение с помощью метода Bool после проверки типа через reflect.Bool:
package main
import (
"fmt"
"reflect"
)
func main() {
var y bool = false
v := reflect.ValueOf(y)
if v.Kind() == reflect.Bool {
res := v.Bool()
fmt.Println(res)
}
}
Результат выполнения кода:
false
Пример
Давайте установим новое логическое значение с помощью метода SetBool после проверки типа через reflect.Bool:
package main
import (
"fmt"
"reflect"
)
func main() {
var z bool = true
v := reflect.ValueOf(&z).Elem()
if v.Kind() == reflect.Bool {
v.SetBool(false)
fmt.Println(z)
}
}
Результат выполнения кода:
false
Смотрите также
-
функцию
reflect.Value.Kind,
которая возвращает вид значения -
функцию
reflect.Value.SetBool,
которая устанавливает логическое значение -
константу
reflect.Int,
которая представляет целочисленный тип -
константу
reflect.String,
которая представляет строковый тип