methods for struct _ golang

Go supports methods defined on struct types

package main

import (
    "fmt"
)

type rect struct {
    width, height int
}

func (r *rect) area() int {
    return r.width * r.height
}

func (r rect) perim() int {
    return 2*r.width + 2*r.height
}

func main() {

    r := rect{width: 10, height: 5}

    fmt.Println("area : ", r.area())
    fmt.Println("perim : ", r.perim())

    rp := &r
    fmt.Println("area : ", rp.area())
    fmt.Println("perim : ", rp.perim())
}
area :  50
perim :  30
area :  50
perim :  30

总结 :

  1 : struct 的指针也能直接引用 struct 的方法

本文来自:博客园

感谢作者:jackkiexu

查看原文:methods for struct _ golang

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。