在数组 golang 中连接整数 - GoLang
Concatenate ints inside array golang - GoLang
我有一个包含 3 个位置的数组,假设它的所有位置都是数字 5。
[5 5 5]
我怎样才能以保持 555 的方式将它传递给 var?就这样。
n:= 555
与使用任何其他语言的方式相同:
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。
如果你想得到字符串形式的结果
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)
}
我有一个包含 3 个位置的数组,假设它的所有位置都是数字 5。
[5 5 5]
我怎样才能以保持 555 的方式将它传递给 var?就这样。
n:= 555
与使用任何其他语言的方式相同:
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。
如果你想得到字符串形式的结果
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)
}