@@ -2,19 +2,49 @@ package example
22
33import (
44 "fmt"
5- "go-pointer/pkg/pointer"
5+ "github.com/CC11001100/go-pointer/pkg/pointer"
6+ "reflect"
67)
78
89func BoolExample () {
910
1011 // 获取一个布尔指针,其值为true
1112 boolPointer := pointer .TruePointer ()
12- fmt .Println (* boolPointer )
13+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
14+ fmt .Println (* boolPointer ) // output: true
1315
1416 // 获取一个布尔指针,其值为false
1517 boolPointer = pointer .FalsePointer ()
16- fmt .Println (* boolPointer )
18+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
19+ fmt .Println (* boolPointer ) // output: false
1720
21+ // 将布尔变量转换为布尔指针
22+ boolVar := true
23+ boolPointer = pointer .ToBoolPointer (boolVar )
24+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
25+ fmt .Println (* boolPointer ) // output: true
26+ boolVar = false
27+ boolPointer = pointer .ToBoolPointer (boolVar )
28+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
29+ fmt .Println (* boolPointer ) // output: false
1830
31+ // 将布尔变量转换为布尔指针,如果布尔的值为nil的话则返回nil指针
32+ boolVar = true
33+ boolPointer = pointer .ToBoolPointerOrNilIfFalse (boolVar )
34+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
35+ fmt .Println (* boolPointer ) // output: true
36+ boolVar = false
37+ boolPointer = pointer .ToBoolPointerOrNilIfFalse (boolVar )
38+ fmt .Println (reflect .TypeOf (boolPointer )) // output: *bool
39+ fmt .Println (boolPointer ) // output: <nil>
40+
41+ // 读取布尔指针变量的值,如果值为nil的话则返回false
42+ boolVar = pointer .FromBoolPointer (pointer .FalsePointer ())
43+ fmt .Println (boolVar )
44+
45+ // 读取布尔变量的值,如果布尔指针为nil的话则返回给定的默认值,这个默认值可以是true或者false
46+ boolPointer = nil
47+ boolVar = pointer .FromBoolPointerOrDefault (boolPointer , true )
48+ fmt .Println (boolVar ) // output: true
1949
2050}
0 commit comments