zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    springboot 打包部署
    mybatis 插入空值时报错 TypeException
    margin 居中
    node.js 开发命令行工具 发布npm包
    webstorm vue环境设置
    vue数组操作不触发前端重新渲染
    数字英文超过宽度不换行问题
    Jquery checkbox 遍历
    小图标垂直居中
    vue this.$router.push 页面不刷新
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10357492.html
Copyright © 2011-2022 走看看