Я занимаюсь с this question.Golang: Как преобразовать строку в [] int?
Мне нужно преобразовать строки в int. В этом случае мне нужно преобразовать «5 2 4 6 1 3», например, в [6] int {5,2,4,6,1,3}. Я написал следующий этот код, особенно AizuArray()
. Кажется, что элементы int here. Не могли бы вы сообщить мне, если мой путь верен? Или вы могли бы сообщить мне лучшие способы? Я спрашиваю об этом, потому что я чувствую, что мой путь будет лишним, и Java way намного проще. Спасибо.
package main
import (
"fmt"
"reflect"
"strconv"
"strings"
)
func AizuArray(A string, N string) []int {
a := strings.Split(A, " ")
n, _ := strconv.Atoi(N) // int 32bit
b := make([]int, n)
for i, v := range a {
b[i], _ = strconv.Atoi(v)
}
return b
}
func main() {
A := "5 2 4 6 1 3"
N := "6"
j := strings.Split(A, " ")
for _, v := range j {
fmt.Println(reflect.TypeOf(v))
}
b := AizuArray(A, N)
fmt.Println(b)
for _, v := range b {
fmt.Println(reflect.TypeOf(v))
}
}
Имейте в виду, что Int размер в пути зависит от центрального процессора, это 32-битный на 32-битных процессоров и 64-битной на ну, 64-битные процессоры. – OneOfOne
@OneOfOne Благодарим вас за комментарий. Да, когда я использовал 'ParseInt()', в моем нетбуке произошла ошибка. Таким образом, я использовал «Atoi» вместо этого. – yamachan