mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 05:11:49 +08:00
update book code
This commit is contained in:
43
eBook/examples/chapter_10/embed_func1.go
Normal file
43
eBook/examples/chapter_10/embed_func1.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type Log struct {
|
||||
msg string
|
||||
}
|
||||
|
||||
type Customer struct {
|
||||
Name string
|
||||
log *Log
|
||||
}
|
||||
|
||||
func main() {
|
||||
// c := new(Customer)
|
||||
// c.Name = "Barak Obama"
|
||||
// c.log = new(Log)
|
||||
// c.log.msg = "1 - Yes we can!"
|
||||
// shorter:
|
||||
c := &Customer{"Barak Obama", &Log{"1 - Yes we can!"}}
|
||||
// fmt.Println(c) // &{Barak Obama 1 - Yes we can!}
|
||||
c.Log().Add("2 - After me the world will be a better place!")
|
||||
//fmt.Println(c.log)
|
||||
fmt.Println(c.Log())
|
||||
}
|
||||
|
||||
func (l *Log) Add(s string) {
|
||||
l.msg += "\n" + s
|
||||
}
|
||||
|
||||
func (l *Log) String() string {
|
||||
return l.msg
|
||||
}
|
||||
|
||||
func (c *Customer) Log() *Log {
|
||||
return c.log
|
||||
}
|
||||
/* Output:
|
||||
1 - Yes we can!
|
||||
2 - After me the world will be a better place!
|
||||
*/
|
Reference in New Issue
Block a user