代码如下:
type Man struct {
Name *string
Age *uint8
}
func main() {
// 需要先声明字段的值
name := "tom"
var age uint8 = 18
// 然后再取地址赋给结构体字段
man := Man{Name: &name, Age: &age}
fmt.Println(man)
}
我在为结构体的指针类型字段赋值时,需要先定义这两个字段,然后在 &
获取地址, 有什么简便写法吗?
1
westoy 2022-09-28 11:35:27 +08:00
封装一个函数......
|
2
dongtingyue 2022-09-28 11:52:59 +08:00
为什么结勾体里面要定义成指针?
|
3
niceTeen84 OP @dongtingyue 用 sqlx 查询数据库时,有些字段是 null ,所以需要定义为指针类型
|
4
wheeler 2022-09-28 11:55:41 +08:00 via iPhone
|
5
niceTeen84 OP @wheeler 就是封装成函数是吧?
|
6
bruce0 2022-09-28 12:18:12 +08:00
sqlx 查询 空字段, 是不是可以用这个解决 https://www.jianshu.com/p/9231752e7f96
|
7
niceTeen84 OP @bruce0 这个可以。
|
8
haolongsun 2022-09-29 00:37:17 +08:00
sqlx 提供了 一系列的 null 值吧,去文档找找
|
9
wangritian 2022-09-29 03:51:43 +08:00
func Ptr[T interface{}](n T) *T {
return &n } |
10
king888 2022-09-29 11:11:04 +08:00
写 golang 有没有种可能,干脆数据库能不用 null ,就不用 null 算了
|
11
niceTeen84 OP @king888 sql 查询一些情况下还是避免不了 null 值的返回
|
12
guanhui07 2022-10-01 00:02:10 +08:00
确实避免不了 null 比如 text 类型就不能设置为 not null 约束
|