go字符串转化为数组
在Go语言中将字符串转换为数组可以通过以下几种方式实现:
1. 使用for循环遍历字符串,并使用string转换符将字符串中的每个字符转换为对应的ASCII码值,并存入一个整型数组中。示例代码如下:
```
package main
import (
"fmt"
)
func main() {
str := "hello"
arr := make([]int, len(str))
for i, ch := range str {
arr[i] = int(ch)
}
fmt.Println(arr) // 输出:[104 101 108 108 111]
}
```
上述代码使用了字符串的for range循环来遍历字符串,其中i表示字符串中字符的索引,ch表示字符的值。通过将ch强制转换为int类型,即可转换为对应的ASCII码值,并将其存入整型数组中。
2. 使用strings包中的Split函数将字符串按照指定的分隔符分割成字符串切片,然后遍历切
片,并使用strconv.Atoi函数将每个字符串转换为对应的整数值,并存入一个整型数组中。示例代码如下:
```
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := "1 2 3 4 5"
strSlice := strings.Split(str, " ")
arr := make([]int, len(strSlice))
for i, s := range strSlice {
num, _ := strconv.Atoi(s)
arr[i] = num
}
fmt.Println(arr) // 输出:[1 2 3 4 5]
}
```
上述代码使用了strings包中的Split函数将字符串按照空格分割为字符串切片。然后使用for range循环遍历切片,将每个字符串转换为对应的整数值,并存入整型数组中。
3. 使用json包将字符串转换为JSON数组,然后使用json.Unmarshal函数将JSON数组转换为对应的Go语言切片。示例代码如下:
```
package main
import (数组转换成字符串
"encoding/json"
"fmt"
)
func main() {
str := "[1, 2, 3, 4, 5]"
var arr []int
err := json.Unmarshal([]byte(str), &arr)
if err != nil {
fmt.Println(err)
}
fmt.Println(arr) // 输出:[1 2 3 4 5]
}
```
上述代码使用了json包中的Unmarshal函数将JSON数组转换为对应的Go语言切片。首先将字符串转换为字节数组,然后通过Unmarshal函数将字节数组转换为切片。注意,需要提前定义一个切片变量,用于存储转换后的结果。
无论使用哪种方法,都要根据实际需求选择合适的方式来进行字符串到数组的转换。在转
换过程中需要注意异常处理,以及对于特殊字符的处理。此外,也可以根据具体情况选择其他库或者自行实现转换逻辑。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论