首页 > 其他 > 详细

go 接口以及对象的使用

时间:2019-02-09 15:36:21      阅读:171      评论:0      收藏:0      [点我收藏+]

 

// Sample program to show how to declare methods and how the Go
// compiler supports them.
package main

import (
    "fmt"
)

// user defines a user in the program.
type user struct {
    name  string
    email string
}

// notify implements a method with a value receiver.
func (u user) notify() {
    fmt.Printf("Sending User Email To %s<%s>\n",
        u.name,
        u.email)
}

// changeEmail implements a method with a pointer receiver.
func (u *user) changeEmail(email string) {
    fmt.Printf("change Email from <%s> To <%s>\n", u.email, email)
    u.email = email
}

// main is the entry point for the application.
func main() {
    // Values of type user can be used to call methods
    // declared with a value receiver.
    bill := user{"Bill", "bill@email.com"}
    bill.notify()

    // Pointers of type user can also be used to call methods
    // declared with a value receiver.
    lisa := &user{"Lisa", "lisa@email.com"}
    lisa.notify()
    fmt.Println()
    // Values of type user can be used to call methods
    // declared with a pointer receiver.
    bill.changeEmail("bill@newdomain.com")
    bill.notify()

    // Pointers of type user can be used to call methods
    // declared with a pointer receiver.
    lisa.changeEmail("lisa@newdomain.com")
    lisa.notify()
}

输出

Sending User Email To Bill<bill@email.com>
Sending User Email To Lisa<lisa@email.com>

change Email from <bill@email.com> To <bill@newdomain.com>
Sending User Email To Bill<bill@newdomain.com>
change Email from <lisa@email.com> To <lisa@newdomain.com>
Sending User Email To Lisa<lisa@newdomain.com>

 

go 接口以及对象的使用

原文:https://www.cnblogs.com/sea-stream/p/10357492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!