-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpointer_function.go
More file actions
45 lines (35 loc) · 882 Bytes
/
pointer_function.go
File metadata and controls
45 lines (35 loc) · 882 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package main
type Address struct {
City, Province, Country string
}
func changeCountryToIndonesia(address *Address) {
address.Country = "Indonesia"
}
func changeCountryToIndonesiaWithPointer(address *Address) {
address.Country = "Indonesia"
}
func main() {
address1 := Address{
City: "Bandung",
Province: "Jawa Barat",
Country: "Indonesia",
}
address2 := address1
address2.Country = "Amerika Serikat"
println(address1.Country) // Indonesia
println(address2.Country) // Amerika Serikat
address3 := Address{
City: "Jakarta",
Province: "DKI Jakarta",
Country: "Indonesia",
}
changeCountryToIndonesia(&address3)
println(address3.Country) // Indonesia
address4 := Address{
City: "Surabaya",
Province: "Jawa Timur",
Country: "Indonesia",
}
changeCountryToIndonesiaWithPointer(&address4)
println(address4.Country) // Indonesia
}