Golang:int到slice的转换

问题描述 投票:-2回答:2

总golang(和编程)菜鸟!

给出任何六位数的数字,如何输出一个片,而该数字的每个字符都在片中被分配了一个单独的位置?

例如,包含所有这些字符的切片(我们称之为s)将具有s [0] =第一位数字,s [1] =第二位数字,s [2] =第三位数字,依此类推。

任何帮助将不胜感激!

indexing go slice
2个回答
0
投票

这是一个两步过程,首先将int转换为字符串,然后迭代该字符串或转换为切片。因为内置的范围功能使您可以迭代字符串中的每个字符,所以我建议将其保留为字符串。像这样的东西;

 import "strconv"
 str := strconv.Itoa(123456)
 for i, v := range str {
      fmt.Println(v) //prints each char's ASCII value on a newline
      fmt.Printf("%c\n", v) // prints the character value
 }

0
投票
func IntToSlice(n int64, sequence []int64) []int64 {
    if n != 0 {
        i := n % 10
        sequence = append(sequence, i)
        return IntToSlice(n/10, sequence)
    }
    return sequence
}
© www.soinside.com 2019 - 2024. All rights reserved.