我想将[]string值解析为特定类型(例如 int、float 等),因此我必须对不同的行使用不同的解析函数。我的代码:value, err := strconv.Atoi(line[1])value1, err := strconv.ParseFloat(line[4], 6)value2, err := strconv.ParseFloat(line[5], 6)value3, err := strconv.Atoi(line[2])我必须确保每个值都已解析,因此对于我必须拥有的每个值err != nil。有没有一种方法可以避免出现一个常见错误if err != nil { return }每行之后?
1 回答
MYYA
TA贡献1868条经验 获得超4个赞
您可以使用 fmt.Sscanf 通过一次错误检查来完成此操作:
package main
import (
"fmt"
)
func main() {
var i int
var j float64
var k int
if _, err := fmt.Sscanf("1,3.14,5", "%d,%f,%d", &i, &j, &k); err != nil {
panic(err)
}
fmt.Println(i, j, k)
}
您需要使用一些分隔符来连接行,但这很简单。
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消