英文:
How to check if a reference is null or not
问题
我有一个创建order
的函数。我需要知道Ogrn
字段是否为空。我应该如何做?
函数:
func CreateOrder(c *gin.Context) {
var order models.Order
var form models.Form
if &form.Ogrn == nil {
...
} else {
...
}
c.JSON(http.StatusOK, gin.H{
...})
}
结构体:
type Form struct {
gorm.Model
...
Ogrn string `json:"ogrn"`
...
}
英文:
I have a function that creates an order
.
I need to know the Ogrn
field is null or not. How should I do it?
Func:
func CreateOrder(c *gin.Context) {
var order models.Order
var form models.Form
if &form.Ogrn == nil {
...
} else {
...
}
c.JSON(http.StatusOK, gin.H{
...})
}
Struct:
type Form struct {
gorm.Model
...
Ogrn string `json:"ogrn"`
...
}
答案1
得分: 2
在你的Form
结构体上,Ogrn
属性是一个string
类型,所以你不能检查它是否为nil
。
你可以检查它是否为空,因为在Go语言中,空字符串是string
类型的默认值。或者,你可以将你的结构体修改为Ogrn
是一个指向字符串的指针,*string
。然后你可以检查它是否为nil
。
type Form struct {
...
Ogrn *string
}
func CreateOrder(c *gin.Context) {
var form models.Form
if form.Ogrn == nil {
// 当为nil时执行某些操作。
}
...
}
英文:
As the Ogrn
property on your Form
struct is a string
, you can't check to see if it's nil
.
You can either check to see if it's empty as that is the string
types default value in Go. Or, you can change your struct so Ogrn
is a pointer to a string, *string
. You can then check to see if it's nil
.
type Form struct {
...
Ogrn *string
}
func CreateOrder(c *gin.Context) {
var form models.Form
if form.Ogrn == nil {
// Do something when nil.
}
...
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论