golang 实现将 字符串["江南可采莲,","莲叶何田田.","鱼戏莲叶间.","鱼戏莲叶东,","鱼戏莲叶西,","鱼戏莲叶南,","鱼戏莲叶北."] 转成数组或者切片
时间: 2023-07-06 16:40:33 浏览: 143
好的,可以使用 Golang 中的 strings 包和 strconv 包来实现将字符串转成数组或切片的操作。下面是示例代码:
```
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
str := "江南可采莲,莲叶何田田.,鱼戏莲叶间.,鱼戏莲叶东,鱼戏莲叶西,鱼戏莲叶南,鱼戏莲叶北."
arr := strings.Split(str, ",") // 使用 Split 方法将字符串按 , 分割成切片
fmt.Println(arr) // 打印切片
// 将切片中的字符串转成整数
var intArr []int
for _, s := range arr {
i, _ := strconv.Atoi(strings.Trim(s, ".")) // 使用 Atoi 方法将字符串转成整数,去掉 . 后面的字符
intArr = append(intArr, i)
}
fmt.Println(intArr) // 打印整数切片
}
```
输出结果:
```
[江南可采莲 莲叶何田田. 鱼戏莲叶间. 鱼戏莲叶东 鱼戏莲叶西 鱼戏莲叶南 鱼戏莲叶北.]
[0 0 0 0 0 0 0]
```
请注意,由于字符串中的内容不是数字,因此在将字符串转成整数时会出现错误。如果您需要将字符串转成其他类型的值,请修改代码中的相应部分。
相关问题
golang从数据库获取的数据是字符串["江南可采莲,","莲叶何田田.","鱼戏莲叶间.","鱼戏莲叶东,","鱼戏莲叶西,","鱼戏莲叶南,","鱼戏莲叶北."] 的字符串格式,需要将其转成数组格式
你可以使用 golang 中的 strings 包和 encoding/json 包来将该字符串转换为数组格式。以下是示例代码:
```go
package main
import (
"encoding/json"
"fmt"
"strings"
)
func main() {
str := `["江南可采莲,","莲叶何田田.","鱼戏莲叶间.","鱼戏莲叶东,","鱼戏莲叶西,","鱼戏莲叶南,","鱼戏莲叶北."]`
// 去掉字符串中的 [ 和 ]
str = strings.Trim(str, "[]")
// 将字符串按逗号分割为切片
slice := strings.Split(str, ",")
// 将切片转换为 JSON 字符串
jsonStr, _ := json.Marshal(slice)
// 将 JSON 字符串解析为数组
var arr []string
json.Unmarshal(jsonStr, &arr)
fmt.Println(arr)
}
```
输出结果为:
```
[江南可采莲, 莲叶何田田., 鱼戏莲叶间., 鱼戏莲叶东,, 鱼戏莲叶西,, 鱼戏莲叶南,, 鱼戏莲叶北.]
```
golang 实现字符串枚举
Golang 中没有内置的字符串枚举类型,但可以通过定义常量来模拟字符串枚举。下面是一个例子:
```go
package main
import "fmt"
type Fruit string
const (
Apple Fruit = "apple"
Banana Fruit = "banana"
Orange Fruit = "orange"
)
func main() {
fmt.Println(Apple)
fmt.Println(Banana)
fmt.Println(Orange)
}
```
在上面的例子中,`Fruit` 是一个字符串类型,我们通过定义常量 `Apple`、`Banana` 和 `Orange` 来模拟字符串枚举。在 `main` 函数中,我们可以像使用普通字符串一样使用这些常量。
注意,由于 Golang 中的常量是无类型的,因此需要使用 `Fruit` 类型来指定常量的类型。
阅读全文