【go】golang如何优雅的合并切片?

php里面有array_meage函数,go的切片操作中是否有类似函数呢?还是只能手动遍历然后一个一个的append?
【go】golang如何优雅的合并切片?

回答

arr3 := append(arr1,arr2...)

golang.com/pkg/builtin/#append" rel="nofollow noreferrer">http://docs.studygolang.com/p...

package main

import "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

回到顶部