2015-09-25 89 views
-3

golang(和编程)总的noob!Golang:int到切片转换

给定任意六位数字,如何输出一个切片,该切片中每个字符的每个字符被分配到切片中的单独位置?例如,包含所有这些字符的切片(我们称之为s)将具有s [0] =第一个数字,s [1] =第二个数字,s [2] =第三个数字,依此类推。

任何帮助将不胜感激!

+0

为什么不使用字符串? https://play.golang.org/p/72Zs58FbJd –

回答

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 
} 
+2

@MDrollette:跨越一个字符串返回符文http://play.golang.org/p/hiqax-cmh8 – JimB

+0

@JimB我假设你需要转换为' []符文'如果你想直接索引到字符串,而不是'范围'? https://play.golang.org/p/kFhQXUD4Ay – MDrollette

+1

@MDrollette一般是(如果你想通过符号/字符而不是字节索引)。然而,来自'strconv.Itoa'你知道每个符文将是一个单独的字节,因此直接对字符串进行索引会得到完全相同的值(即在这个例子中'rune(str [3])== [] rune(str )[3]') –