【发布时间】:2018-05-03 23:35:51
【问题描述】:
我定义了一个结构
type data struct {
invitecode string
fname string
lname string
}
我在解析后从检索表单数据中填充
...
r.ParseForm()
new user := &data{
invitecode: r.FormValue("invitecode"),
fname: r.FormValue("fname")
lname: r.FormValue("lname")
}
我确实想检查从表单获得的invitecode 字段是否为空,如果是,则通过调用函数来填充它,但如果不是,则使用检索到的值填充它(invitecode: if newUser.invitecode == "" {"Mr"} 否则 {lnames.title},)。我知道 go 没有三元运算符,我想使用和阅读问题 here、here、here 和 here 暗示使用 if else 语句,但我似乎无法理解工作。最好,我正在寻找一种在分配新变量时进行检查的解决方案。尝试下面的代码似乎不起作用。任何帮助将不胜感激。
package main
import (
"fmt"
)
type data struct {
invitecode string
fname string
lname string
}
func main() {
var user data
newUser := map[string]string{"invitecode": "", "fname": "Dude", "lname": "Did"}
user = &data{
invitecode: if newUser.invitecode == "" {"Mr"} else {lnames.title},
fname: newUser.fname,
lname: newUser.lname,
}
fmt.Println(user)
}
【问题讨论】:
-
您在使用
if语句时遇到问题吗?您引用的代码中没有任何内容试图执行您所描述的操作。 -
我更新了问题以显示我想要做什么
标签: go