首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >go中的二维切片类型转换

go中的二维切片类型转换
EN

Stack Overflow用户
提问于 2016-10-20 14:34:11
回答 1查看 83关注 0票数 0

我被限制为[]string定义特定类型,因为我为strSlice类型实现了一个自定义yaml解析器。

现在我需要将[]strSlice转换回[][]string,但是go编译器1.7.1拒绝它为一个错误。

代码语言:javascript
复制
type strSlice []string
var x1 []strSlice
var x2 [][]string
...
x2 = [][]string(x1)

我怎样才能执行演员的手术?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 14:40:41

您使用的是字符串片的命名类型。您需要首先将x1中的每个条目转换回[]string

代码语言:javascript
复制
type strSlice []string
var x1 []strSlice
var x2 [][]string
...
for _, s := range x1 {
    x2 = append(x2, []string(s))
}

https://play.golang.org/p/5iJT2Hsv1R

不幸的是,不可能一蹴而就,因为x1中的每个索引都是strSlice类型,需要转换为[]string类型以存储在x2中。Go不允许您在单个操作中执行此操作,因为开发人员不希望在语法糖中隐藏O(n)操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40157428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档