go 方法

作者: AEGQ | 来源:发表于2017-11-02 00:10 被阅读4次

    Go 既允许使用值,也允许使用指针来调用方法,不必严格符合接收者的类型。

    package main
    
    import (
        "fmt"
    )
    
    type user struct {
        name  string
        email string
    }
    
    func (u user) notify() {
        fmt.Printf("Sending: %s -> %s \n", u.name, u.email)
    }
    
    func (u *user) change(email string) {
        u.email = email
    }
    
    func main() {
    
        bill := user{"Bill", "bill@email.com"}
        bill.notify()
    
        lisa := &user{"lisa", "lisa@email.com"}
        lisa.notify()
    
        bill.change("bill@new.com")
        bill.notify()
    
        lisa.change("lisa@new.com")
        lisa.notify()
    }
    
    Sending: Bill -> bill@email.com 
    Sending: lisa -> lisa@email.com 
    Sending: Bill -> bill@new.com 
    Sending: lisa -> lisa@new.com 
    

    相关文章

      网友评论

        本文标题:go 方法

        本文链接:https://www.haomeiwen.com/subject/faxlextx.html