Go Slices
“keep it mind that Slices part of Arrays, when we create Slice, in the backgroud automaticly Go creates an array, and assignt our Slice as a part of this array”
Slices are very similar to Arrays, but more flexible. we can create a slice basicly 3 ways
1 – commun way -> just like a Array but with out length
mySlice= []int{1,2} // any time we can change length of slice by adding elements.
2- creating from an array
arr1 := [4]int{1, 2, 3, 4} // an array with 4 elements
myslice := arr1[1:3] // our slice take a 2 elements form our array as a element
IMPORTANT here 1 is index1 until Index3 but intex3 is not included myslice elements are 2 and 3
This way we can decrese or increse elements of our Slice. But we are depenting always on our Array in this case
3- Creating slices using make() function
slice_name := make([]type, length, capacity)
myslice1 := make([]int, 5, 10)
5 length of Slice 10 is capacity
Manipulating Slices
we can modify elements in Slices like an array just indicating index-number and assign new values
slice := []int{1,2,3} // OUTPUT 1 2 3
slice[0] = 5 // NOW output 5 2 3
we can also create new slice grouping 2 existing slices to gether
sliceOne := []int{1,2,3}
sliceTwo := []int{4,5,6}
sliceGrouped := append(sliceOne, sliceTwo…) // … <- 3 points indicate grouping operation
increacing capacity and Length of Slices
We can add new elements in to slice as you see below
myslice :=[]int{1,2,3} // Slice with 3 elements
myslice = append(myslice,4, 5, 6, 7) // adding 4 more elements to slice