package main import "fmt" func value(ss string) { fmt.Println("value():") fmt.Println("ss = ", ss) fmt.Println("&ss = ", &ss) fmt.Println("=====================") ss = "Kotlin" fmt.Println("ss = ", ss) fmt.Println("&ss = ", &ss) } func value2(ss string) { fmt.Println("value2():") fmt.Println("ss = ", ss) fmt.Println("&ss = ", &ss) fmt.Println("=====================") ss = "Kotlin" fmt.Println("ss = ", ss) fmt.Println("&ss = ", &ss) } func pointer(ps *string) { fmt.Println("pointer():") fmt.Println("ps = ", ps) fmt.Println("&ps = ", &ps) fmt.Println("*ps = ", *ps) fmt.Println("=====================") *ps = "Kotlin" fmt.Println("ps = ", ps) fmt.Println("&ps = ", &ps) fmt.Println("*ps = ", *ps) } func pointer2(ps *string) { fmt.Println("pointer2():") fmt.Println("ps = ", ps) fmt.Println("&ps = ", &ps) fmt.Println("*ps = ", *ps) fmt.Println("=====================") *ps = "Kotlin" fmt.Println("ps = ", ps) fmt.Println("&ps = ", &ps) fmt.Println("*ps = ", *ps) } func main() { s := "golang" fmt.Println("s = ", s) fmt.Println("&s = ", &s) fmt.Println("__________________________________________________") value(s) fmt.Println("__________________________________________________") value2(s) fmt.Println("__________________________________________________") pointer(&s) fmt.Println("__________________________________________________") pointer2(&s) }