github.com/songzhibin97/gkit@v1.2.13/tools/pointer/template.txt (about) 1 package pointer 2 3 // To{{upper}}Pointer 将{{lower}}类型的变量转换为对应的*{{lower}}指针类型 4 func To{{upper}}Pointer(v {{lower}}) *{{lower}} { 5 return &v 6 } 7 8 // To{{upper}}PointerOrNilIfZero 将{{lower}}类型的变量转换为对应的*{{lower}}指针类型,如果变量的值为0的话则返回nil指针 9 func To{{upper}}PointerOrNilIfZero(v {{lower}}) *{{lower}} { 10 if v == 0 { 11 return nil 12 } 13 return &v 14 } 15 16 // From{{upper}}Pointer 获取*{{lower}}类型的指针的实际值,如果指针为nil的话则返回0 17 func From{{upper}}Pointer(p *{{lower}}) {{lower}} { 18 return From{{upper}}PointerOrDefaultIfNil(p, 0) 19 } 20 21 // From{{upper}}PointerOrDefaultIfNil 获取*{{lower}}类型的指针的实际值,如果指针为nil的话则返回defaultValue 22 func From{{upper}}PointerOrDefaultIfNil(v *{{lower}}, defaultValue {{lower}}) {{lower}} { 23 if v == nil { 24 return defaultValue 25 } 26 return *v 27 }