• go 接口以及对象的使用


    // 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>
    ",
            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>
    ", 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>
  • 相关阅读:
    Android Studio 打包生成apk
    找水王
    关于搜狗输入法的用户体验评价
    c语言函数的嵌套使用和矩阵运算
    人月神话阅读笔记02
    第一阶段冲刺意见评论汇总
    高校表白App-团队冲刺第十天
    高校表白App-团队冲刺第九天
    高校表白App-团队冲刺第八天
    人月神话阅读笔记01
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10357492.html
Copyright © 2020-2023  润新知