34 lines
557 B
Go
34 lines
557 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type Data struct {
|
|
value int
|
|
}
|
|
|
|
func (d Data) Value1() int {
|
|
return d.value
|
|
}
|
|
|
|
func (d *Data) Value2() int {
|
|
return d.value
|
|
}
|
|
|
|
func main() {
|
|
data := Data{100}
|
|
pointer := &data
|
|
|
|
value1ByData := data.Value1
|
|
value1ByPointer := pointer.Value1
|
|
|
|
value2ByData := data.Value2
|
|
value2ByPointer := pointer.Value2
|
|
|
|
data.value = 200
|
|
|
|
fmt.Println("value1ByData:", value1ByData())
|
|
fmt.Println("value1ByPointer:", value1ByPointer())
|
|
fmt.Println("value2ByData:", value2ByData())
|
|
fmt.Println("value2ByPointer:", value2ByPointer())
|
|
}
|