Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在Go中重复数组项_Arrays_Go_Multidimensional Array - Fatal编程技术网

Arrays 在Go中重复数组项

Arrays 在Go中重复数组项,arrays,go,multidimensional-array,Arrays,Go,Multidimensional Array,我有一个字符串数组 我想重复“x”x次 我不希望它是一个字符串,就像使用strings.Repeat()所发生的那样。我需要它是单个数组项。可能吗 []string{"x", "x", "x"} 你可以做: count := 10 strings.Split(strings.Repeat("x", count), "") 或者干脆 func sliceFilledWithString(siz

我有一个字符串数组

我想重复
“x”
x次

我不希望它是一个字符串,就像使用
strings.Repeat()
所发生的那样。我需要它是单个数组项。可能吗

[]string{"x", "x", "x"}
你可以做:

count := 10
strings.Split(strings.Repeat("x", count), "")

或者干脆

func sliceFilledWithString(size int, str string) []string {
    data := make([]string, size)
    for i := 0; i < size; i++ {
        data[i] = str
    }
    return data
}
func sliceFilledWithString(size int,str string)[]字符串{
数据:=生成([]字符串,大小)
对于i:=0;i

使用泛型,您可以编写更通用的函数。(可能类似的内容将添加到std lib中。)

func sliceRepeat[T any](大小int,v T)[]T{
retval:=make([]T,0,大小)
对于i:=0;i

太棒了,谢谢!如果要重复长度超过1个字符的字符串,第一种方法将不起作用。另外,第二种方法通常要快一点。
func sliceRepeat[T any](size int, v T) []T {
    retval := make([]T, 0, size)
    for i := 0; i < size; i++ {
        retval = append(retval, v)
    }
    return retval
}