https://stackblitz.com/edit/typescript-zlwtyj 如何才能像 ts 这样判断值
struct 中的 int 值初始化为 0,string 值初始化是"",这样子怎么判断接口有没有传进来啊,因为接口也是可以接收 0 和空字符串的
https://stackblitz.com/edit/typescript-zlwtyj 如何才能像 ts 这样判断值
struct 中的 int 值初始化为 0,string 值初始化是"",这样子怎么判断接口有没有传进来啊,因为接口也是可以接收 0 和空字符串的
|
thefackJun 20, 2020
1
加个状态变量
|
|
felix021Jun 20, 2020 via Android
2
struct 的成员用指针
struct{ Ts *int } |
|
scnaceJun 20, 2020 via Android
3
用*int 和 *string (逃
|
|
kaifangJun 20, 2020
5
也可以用校验器校验 https://github.com/go-playground/validator 。
type user struct{ id int `validate:"required"` name string `validate:"required"` age int `validate:"required,min=16,max=100"` } validate := validator.New() if err := validate.Struct(user); err == nil { fmt.Println("校验成功") } else { fmt.Println("校验失败") } |
|
6
@kaifang #5 因为是做 update,传入字段是动态的,所以不能用 required 只能用上面 2 、3 楼的指针了。要是是 create 的话那就可以用 required
|
|
RHJun 20, 2020
7
也可以尝试用这个 github.com/guregu/null
|
|
joesonwJun 21, 2020
8
所以你看到很多库, 例如 aws, 传参都是 *string, *int
|