加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Golang中将[]字符串转换为[] float64?

发布时间:2020-12-16 09:27:21 所属栏目:大数据 来源:网络整理
导读:我是编程的新手,并试图在Go中编写一个简单的平均程序. package mainimport ( "fmt" "os")var numbers []float64var sum float64 = 0func main() { if len(os.Args) 1 { numbers = os.Args[1:] } fmt.Println("Numbers are: ",numbers) for _,value := range
我是编程的新手,并试图在Go中编写一个简单的平均程序.

package main

import (
    "fmt"
    "os"
)

var numbers []float64
var sum float64 = 0

func main() {

    if len(os.Args) > 1 {

        numbers = os.Args[1:]

    }

    fmt.Println("Numbers are: ",numbers)
    for _,value := range numbers {
        sum += value
    }

}

http://play.golang.org/p/TWNltPO71N

当我构建程序时,我收到了这个错误:

prog.go:15: cannot use os.Args[1:] (type []string) as type []float64 in assignment
[process exited with non-zero status]

那么如何将一片字符串转换为一个浮点数?我可以将转换函数映射到切片吗?

解决方法

您需要使用 strconv.ParseFloat函数将字符串转换为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: ",value := range numbers {
        sum += value
    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读