【go】golang如何优雅的合并切片?
php里面有array_meage函数,go的切片操作中是否有类似函数呢?还是只能手动遍历然后一个一个的append?
回答
arr3 := append(arr1,arr2...)
golang.com/pkg/builtin/#append" rel="nofollow noreferrer">http://docs.studygolang.com/p...
package mainimport "fmt"
func main() {
s1 := []int{0, 1, 2, 3}
s2 := []int{4, 5, 6, 7}
s1 = append(s1, s2...)
fmt.Println(s1)
}
// [0 1 2 3 4 5 6 7]
append第二个参数不接受切片类型。
截图代码改成:
for _, v := range files { for _, urlInFile := range util.ReadFile(v) {
urls = append(urls, urlInFile)
}
}
或者自己定义一个合并Slice得方法
func MergeSlice(s1 []string, s2 []string) []string {
slice := make([]string, len(s1)+len(s2))
copy(slice, s1)
copy(slice[len(s1):], s2)
return slice
}
for _, v := range files {
urls = MergeSlice(urls, util.ReadFile(v))
}
以上是 【go】golang如何优雅的合并切片? 的全部内容, 来源链接: utcz.com/a/104574.html