Slice is a variable-length sequence which stores elements of a similar type, you are not allowed to store different type of elements in the same slice. It is just like an array having an index value and length, but the size of the slice is resized they are not in fixed-size just like an array. In Go language, you are allowed to pass a slice to a function, means the function gets the copy of the slice.
The slice is passed by value to a function along with the slice capacity, length, and the pointer of the slice is always pointing to the underlying array. So, if we made some change in the slice which is passed to the function by value will reflect in the slice present outside the function. Let us discuss this concept with the help of an example:
Initial slice: [C# Python C Perl] Modified slice: [C# Python Java Perl] Final slice: [C# Python Java Perl]
Explanation: In the above example, we have a slice named as slc. This slice is passed in the myfun() function. As we know that the slice pointer always points to the same reference even if they passed in a function. So, when we change the value C to Java present at index value 2. This change reflects the slice present outside the function too, so the final slice after modification is [C# Python Java perl].
Initial slice: [C# Python C Perl] Modified slice: [C# Python C Perl Java] Final slice: [C# Python C Perl]
- How to copy one slice into another slice in Golang?
- How to pass an Array to a Function in Golang?
- How to convert a slice of bytes in uppercase in Golang?
- How to convert a slice of bytes in lowercase in Golang?
- Check if the given slice is sorted in Golang
- Searching an element of float64 type in Golang slice
- How to Sort a Slice of Strings in Golang?
- Check if the specified element is present in the slice of bytes in Golang
- How to count specific characters present in the slice in Golang?
- How to sort a slice of ints in Golang?
- How to sort a slice of float64s in Golang?
- Checking Slice of bytes for equality under Unicode case folding in Golang
- Check if the Slice of bytes starts with specified prefix in Golang
- Check if the Slice of bytes ends with specified suffix in Golang
- How to join the elements of the byte slice in Golang?
- How to replace a specified element in slice of bytes in Golang?
- How to replace all the elements in slice of bytes in Golang?
- How to repeat a slice of bytes in Golang?
- How to convert a slice of bytes in title case in Golang?
- How to trim prefix from the slice of bytes in Golang?
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.