Every line of 'golang create empty slice' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your Go code is secure.
260 func (pac *Package) newSlice(elemType gcc.Type) *Slice { 261 return &Slice{elementType: pac.declareEqualType(elemType)} 262 }
415 func (v *BaseKParserVisitor) VisitSlice(ctx *SliceContext) interface{} { 416 return v.VisitChildren(ctx) 417 }
39 func createSliceOperator(args ...interface{}) []interface{} { 40 return args 41 }
633 func sliceAddIfNotExists(slice []string, value string) []string { 634 if !sliceContains(slice, value) { 635 slice = append(slice, value) 636 } 637 return slice 638 }
63 func jitSliceToBytes(slice C.wasmjit_slice_t) []byte { 64 return C.GoBytes((unsafe.Pointer)(slice.data), C.int(slice.len)) 65 }
191 func (matrix *DenseMatrix) Slice(rfrom, rto, cfrom, cto int) Matrix { 192 m := *matrix 193 m.rowOffset += rfrom 194 m.rows = rto - rfrom 195 m.colOffset += cfrom 196 m.cols = cto - cfrom 197 // crop tmp vectors 198 m.initTmp() 199 return &m 200 }
175 func (matrix *SparseInt32Matrix) SLICE(rfrom, rto, cfrom, cto int) *SparseInt32Matrix { 176 m := *matrix 177 m.rowOffset += rfrom 178 m.rows = rto - rfrom 179 m.colOffset += cfrom 180 m.cols = cto - cfrom 181 // crop tmp vectors 182 m.initTmp() 183 return &m 184 }
24 func Slice(arr []byte, count int) [][]byte { 25 26 sliceCount := len(arr) / count 27 result := make([][]byte, sliceCount) 28 29 for i := 0; i < sliceCount; i++ { 30 start := i * count 31 end := i*count + count 32 33 result[i] = arr[start:end] 34 } 35 36 return result 37 }
11 func sliceDemo2() { 12 slice1 := []int{1, 2, 3} 13 printSlice(slice1) 14 // slice1[len(slice1)] = 4 // 虽然是不定长的切片,但是一旦赋值容量就固定了,这里会报错 15 16 //指定容量 17 slice1 = make([]int, 3, 5) // 3 是长度 5 是容量 18 printSlice(slice1) 19 20 // slice1[len(slice1)] = 4 // 还是会报错,虽然容量是 5 ,但是数组长度是3,这里是以长度为准,而不是容量 21 22 //使用append来追加元素,append很常用 23 slice1 = append(slice1, 4) 24 printSlice(slice1) 25 26 slice1 = append(slice1, 5) 27 slice1 = append(slice1, 6) // 到这里长度超过了容量,容量自动翻倍为 5*2 28 printSlice(slice1) 29 30 // 上面容量自动翻倍的过程可以看作和下面一致 31 slice1 = make([]int, 3, 5) // 3 是长度 5 是容量 32 slice1 = append(slice1, 4) 33 slice1 = append(slice1, 5) 34 35 // 长度不变,容量自动翻倍为 5*2 36 slice2 := make([]int, len(slice1), (cap(slice1))*2) 37 38 /* 拷贝 slice1 的内容到 slice2 */ 39 copy(slice2, slice1) // 注意是后面的拷贝给前面 40 slice2 = append(slice2, 6) 41 printSlice(slice2) 42 43 }
52 func filledByteSlice2D(length, innerLen uint64) [][]byte { 53 b := make([][]byte, length) 54 for i := uint64(0); i < length; i++ { 55 b[i] = make([]byte, innerLen) 56 } 57 return b 58 }