我有一个包含3个位置的数组,想象它在所有位置都有数字5。
[5 5 5]
如何以一种保持555的方式将其传递给var?就像这样。
n:= 555
答案 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)
}