我想將[]string值解析為特定類型(例如 int、float 等),因此我必須對不同的行使用不同的解析函數(shù)。我的代碼: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。有沒有一種方法可以避免出現(xiàn)一個常見錯誤if err != nil { return }每行之后?
1 回答

MYYA
TA貢獻(xiàn)1868條經(jīng)驗 獲得超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 關(guān)注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消