gpt4 book ai didi

for-loop - 在 for 循环中使用 AtoI 时出错

转载 作者:数据小太阳 更新时间:2023-10-29 03:03:41 24 4
gpt4 key购买 nike

我是 go lang 的新手,我确信我遗漏了一些非常基本的东西,但由于我已经搜索了网络,但没有找到任何可以帮助我理解我的问题的东西,我想我会把它贴在这里。本质上我想做的是从字符串到 int 的简单转换。字符串作为表示为字符串的数值(即“1”)到达;我想将它更改为等效的 int 以便我可以在 switch ... 案例中使用它。我已经尝试了 Atoi 和 parseInt,但都因相同的错误而失败:

./test.go:1765: cannot use v (type []string) as type string in argument to strconv.Atoi

我试图先将它分配给一个字符串,然后将它传递给 Atoi,但它仍然没有用。

代码如下:

        r.ParseForm()

for k, v := range r.Form {
if k == "StartPicker" && strings.Join(v, "") != "" {
layout := dateLayout
startDate, err = time.Parse(layout, strings.Join(v, ""))

if err != nil {
fmt.Println("time.Parse() err:", err)
}

} else if k == "EndPicker" && strings.Join(v, "") != "" {
layout := dateLayout
endDate, err = time.Parse(layout, strings.Join(v, ""))

if err != nil {
fmt.Println("time.Parse() err:", err)
}
} else {
fmt.Printf("k = %s\n", k)

if k == "FilterType" {
fmt.Printf("this is the variable filterType: %s\n", v)
time, sqlFilter := strconv.Atoi(v)
if err != nil {
// handle error
fmt.Println("Atoi broken err:", err)
}

} else if k == "MSISDN" {
msisdn := v
}
}
}

最佳答案

错误告诉您您正在将 []string 传递给 string 参数。

如果应用程序不使用表单字段的多个值并且应用程序不需要区分缺少的表单字段和“”,那么通常调用 Request.FormValue获取表单值。如果键不存在,此方法返回键的第一个值或“”。

无需遍历表单域。只需获取您想要的字段。

上面的代码是这样写的。

var startDate time.Time
if v := r.FormValue("StartPicker"); v != "" {
var err error
startDate, err = time.Parse(dateLayout, v)
if err != nil {
// handle error
}
}

var endDate time.Time
if v := r.FormValue("EndPicker"); v != "" {
var err error
startDate, err = time.Parse(dateLayout, v)
if err != nil {
// handle error
}
}

var filterType int
if v := r.FormValue("FilterType"); v != "" {
var err error
filterType, err = strconv.Atoi(v)
if err != nil {
// handle error
}
}

msisdn := r.FormValue("MSISDN")

如果客户端需要指定一个字段,那么去掉if v := r.FormValue("key"); v != nil 业务。

filterType, err = strconv.Atoi(r.FormValue("FilterType"))
if err != nil {
// handle error
}

关于for-loop - 在 for 循环中使用 AtoI 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com