golang(和編程)總的noob!Golang:int到切片轉換
給定任意六位數字,如何輸出一個切片,該切片中每個字符的每個字符被分配到切片中的單獨位置?例如,包含所有這些字符的切片(我們稱之爲s)將具有s [0] =第一個數字,s [1] =第二個數字,s [2] =第三個數字,依此類推。
任何幫助將不勝感激!
golang(和編程)總的noob!Golang:int到切片轉換
給定任意六位數字,如何輸出一個切片,該切片中每個字符的每個字符被分配到切片中的單獨位置?例如,包含所有這些字符的切片(我們稱之爲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
}
@MDrollette:跨越一個字符串返回符文http://play.golang.org/p/hiqax-cmh8 – JimB
@JimB我假設你需要轉換爲' []符文'如果你想直接索引到字符串,而不是'範圍'? https://play.golang.org/p/kFhQXUD4Ay – MDrollette
@MDrollette一般是(如果你想通過符號/字符而不是字節索引)。然而,來自'strconv.Itoa'你知道每個符文將是一個單獨的字節,因此直接對字符串進行索引會得到完全相同的值(即在這個例子中'rune(str [3])== [] rune(str )[3]') –
爲什麼不使用字符串? https://play.golang.org/p/72Zs58FbJd –