在数组golang - GoLang中连接整数

时间:2015-08-17 13:26:21

标签: arrays go int slice

我有一个包含3个位置的数组,想象它在所有位置都有数字5。

[5 5 5]

如何以一种保持555的方式将其传递给var?就像这样。

n:= 555 

2 个答案:

答案 0 :(得分:6)

与其他语言相同:

s := []int{1, 2, 3}
n := 0
for _, sn := range s {
    n *= 10
    n += sn
}

游乐场:http://play.golang.org/p/SSemwbJuTz

编辑如果您计划使用更多只有一位数的数字,那么循环就有点棘手了:

for _, sn := range s {
    shift := 10
    for shift < sn {
        shift *= 10
    }
    n *= shift
    n += sn
}

这适用于[]int{1, 23, 456}http://play.golang.org/p/h1xsu9vtmP等输入。

请注意integer overflow

答案 1 :(得分:1)

如果您想将结果作为字符串

package main

import "fmt"
import "strconv"

func main() {
    fmt.Println("Hello, playground")
    a := []int{1, 2, 3,4}
    s := ""
    for _, c := range a {
        s += strconv.Itoa(c)
    }
    fmt.Println(s)
}