【发布时间】:2018-09-21 03:05:29
【问题描述】:
我有一个名为 Ads 的结构
type Ads struct {
ID int `json:"id"`
Subject string `json:"subject"`
Phone string `json:"phone"`
}
func GetAdsPostgres() (ads []Ads, err error) {
ads = make([]Ads, 0)
rows, err := db1.Query("Select ad_id, subject FROM ads limit 200 ")
for rows.Next() {
var ad Ads
rows.Scan(&ad.ID, &ad.Subject)
test := reflect.ValueOf(ad.ID)
addd := test.Interface().(int)
rows1, _ := db1.Query("Select phone FROM ads where ad_id=$1", addd)
rows1.Scan(&ad.Phone)
ads = append(ads, ad)
rows1.Close()
}
if err = rows.Err(); err != nil {
return
}
return
}
没有考虑加入表格,因为手机有多个枚举值,我必须在之后将它们重新定义为字段
【问题讨论】:
-
您的
if err = rows.Err(); err != nil { return }完全没有必要。不需要if ... { return } return。只需return。 -
@Flimzy for the phone 有一个枚举值:local、regional、international 和每个值,所以我创建了一个结构,其中包含电话枚举的所有字段,这就是我必须遵循此方法的原因跨度>
-
@dev_medo:这与我的观点无关。有一个“if x do y else do y”等同于“y”
标签: mysql postgresql go