Files
the-way-to-go_ZH_CN/eBook/examples/chapter_10/pointer_value.go

30 lines
345 B
Go

// pointer_value.go
package main
import (
"fmt"
)
type B struct {
thing int
}
func (b *B) change() { b.thing = 1 }
func (b B) write() string { return fmt.Sprint(b) }
func main() {
var b1 B // b1 is value
b1.change()
fmt.Println(b1.write())
b2 := new(B) // b2 is pointer
b2.change()
fmt.Println(b2.write())
}
/* Output:
{1}
{1}
*/