mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 02:35:53 +08:00
update book code
This commit is contained in:
28
eBook/examples/chapter_10/pointer_value.go
Normal file
28
eBook/examples/chapter_10/pointer_value.go
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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}
|
||||
*/
|
Reference in New Issue
Block a user