标签:email log int 方法 amp send ruby ring img
这个东东,好像其它语言很少见呢。
印象中,ruby是可以这样的。

package main
import (
"fmt"
)
type user struct {
name string
email string
}
//方法与函数的不同之处在于:函数是独立调用的,而方法寄生于变量来调用
//值接收者,主要用于不改变接收者的方法。
func (u user) notify() {
fmt.Printf("Sending User Email to %s<%s>\n",
u.name,
u.email)
}
//指针接收者,主要用于要改变接收者的方法。
func (u *user) changeEmail(email string) {
u.email = email
}
func main() {
bill := user{"Bill", "bill@email.com"}
bill.notify()
lisa := &user{"Lisa", "lisa@email.com"}
//go编译会执行的动作:(*lisa).notify()
lisa.notify()
//go在背后会执行的动作:(&bill).changeEmail ("bill@newdomain.com")
bill.changeEmail("bill@newdomain.com")
bill.notify()
lisa.changeEmail("lisa@newdomain.com")
//go编译会执行的动作:(*lisa).notify()
lisa.notify()
}

标签:email log int 方法 amp send ruby ring img
原文地址:http://www.cnblogs.com/aguncn/p/7471136.html