2015-09-25 40 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]') –