В Go существует несколько способов преобразования строки в целочисленный массив с разделителем-пробелом. В этой статье рассматриваются несколько методов с примерами кода, чтобы продемонстрировать, как можно добиться такого преобразования. Независимо от того, новичок вы или опытный разработчик Go, вы найдете ценную информацию о различных подходах к решению этой проблемы.
Метод 1: использование пакетов strconv и strings
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := "1 2 3 4 5"
strArray := strings.Split(str, " ")
intArray := make([]int, len(strArray))
for i, s := range strArray {
num, _ := strconv.Atoi(s)
intArray[i] = num
}
fmt.Println(intArray)
}
Метод 2. Использование пакетов fmt и strconv
package main
import (
"fmt"
"strconv"
)
func main() {
str := "1 2 3 4 5"
var num int
intArray := []int{}
for _, s := range str {
if s == ' ' {
intArray = append(intArray, num)
num = 0
} else {
digit, _ := strconv.Atoi(string(s))
num = num*10 + digit
}
}
intArray = append(intArray, num)
fmt.Println(intArray)
}
Метод 3. Использование регулярных выражений (пакет regexp)
package main
import (
"fmt"
"regexp"
"strconv"
)
func main() {
str := "1 2 3 4 5"
re := regexp.MustCompile("\\d+")
matches := re.FindAllString(str, -1)
intArray := make([]int, len(matches))
for i, match := range matches {
num, _ := strconv.Atoi(match)
intArray[i] = num
}
fmt.Println(intArray)
}
Метод 4. Использование функций strings.Fields и strconv.Atoi
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := "1 2 3 4 5"
strArray := strings.Fields(str)
intArray := make([]int, len(strArray))
for i, s := range strArray {
num, _ := strconv.Atoi(s)
intArray[i] = num
}
fmt.Println(intArray)
}
В этой статье мы рассмотрели несколько методов преобразования строки Go в целочисленный массив с разделителем пробелов. Мы рассмотрели различные подходы, включая использование таких пакетов, как strconv, strings, fmt и regexp, каждый из которых имеет свои преимущества и недостатки. Понимая эти различные методы, вы можете выбрать наиболее подходящий метод для вашего конкретного случая использования. Преобразование строки в целочисленный массив — обычная задача в Go, и благодаря знаниям, полученным из этой статьи, вы будете хорошо подготовлены к ее эффективному решению.