美文网首页
go错误处理

go错误处理

作者: 青哥DevOps | 来源:发表于2021-05-09 22:36 被阅读0次
    package main
    
    import "fmt"
    
    type message struct {
        content string
    }
    
    func (p *message) set(c string) {
        p.content = c
    }
    
    func (p *message) print() string {
        fmt.Println("inner defer func")
        p.content += p.content
        return p.content
    }
    
    func main() {
        m := &message{content: "Hello"}
        defer fmt.Println(m.print()) // 结果寄存起来了,不会随后来的改变而改变,然而每次defer都是存储当前的状态
        //defer func() {
        //  fmt.Print(m.print())
        //}()
        fmt.Println(m.content, 111)
        m.set("World")
        fmt.Println("我是有底线的")
        fmt.Println(m.content)
    
        defer fmt.Println(m.print())
        fmt.Println(222)
    
    }
    
    
    
    ============================
    output:
    inner defer func
    HelloHello 111
    我是有底线的
    World
    inner defer func
    222
    WorldWorld
    HelloHello
    
    

    相关文章

      网友评论

          本文标题:go错误处理

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