2 回答

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
您需要使用strconv.ParseFloat函數(shù)將字符串轉(zhuǎn)換為 float64 :
package main
import (
"fmt"
"os"
"strconv"
)
var numbers []float64
var sum float64 = 0
func main() {
if len(os.Args) <= 1 {
return
}
for _, arg := range os.Args[1:] {
if n, err := strconv.ParseFloat(arg, 64); err == nil {
numbers = append(numbers, n)
}
}
fmt.Println("Numbers are: ", numbers)
for _, value := range numbers {
sum += value
}
}

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
它無法轉(zhuǎn)換,因?yàn)閟tring和int不兼容。
相反,具有的numbers片,只是迭代os.Args[1:],使用ParseFloat從strconv包。
fmt.Print("Numbers are: ")
for _, arg := range os.Args[1:] {
fmt.Print(arg, " ")
value, err := strconv.ParseFloat(arg, 64)
if err != nil {
panic(err)
}
sum += value
}
- 2 回答
- 0 關(guān)注
- 881 瀏覽
添加回答
舉報(bào)