In Go
language, Arrays are passed by value, whereas slices are passed by reference.
func
updateCountries(countries []string) {
countries[0] = "Dummy"
countries[1] = "Dummy"
countries[2] = "Dummy"
countries[3] = "Dummy"
countries[4] = "Dummy"
}
For
example, if you call updateCountries method by passing a slice as an argument,
the changes done for the slice ‘countries’ inside the method ‘updateCountries’
will be reflected outside.
App.go
package main import "fmt" func main() { countries := []string{} countries = append(countries, "India") countries = append(countries, "Bangladesh") countries = append(countries, "Canada") countries = append(countries, "Austria") countries = append(countries, "Germany") fmt.Println(countries) fmt.Println("\nUpdating countries with Dummy data") updateCountries(countries) fmt.Println() fmt.Println(countries) } func updateCountries(countries []string) { countries[0] = "Dummy" countries[1] = "Dummy" countries[2] = "Dummy" countries[3] = "Dummy" countries[4] = "Dummy" }
Output
[India
Bangladesh Canada Austria Germany]
Updating
countries with Dummy data
[Dummy
Dummy Dummy Dummy Dummy]
No comments:
Post a Comment