总golang(和编程)菜鸟!
给出任何六位数的数字,如何输出一个片,而该数字的每个字符都在片中被分配了一个单独的位置?
例如,包含所有这些字符的切片(我们称之为s)将具有s [0] =第一位数字,s [1] =第二位数字,s [2] =第三位数字,依此类推。
任何帮助将不胜感激!
这是一个两步过程,首先将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
}
func IntToSlice(n int64, sequence []int64) []int64 {
if n != 0 {
i := n % 10
sequence = append(sequence, i)
return IntToSlice(n/10, sequence)
}
return sequence
}