gin开发,能否在一个包下面,放相同的名的func。

代码结构如下:

controllers/
    a.go
    b.go

    a.go 里面有一个 create
    b.go 里面也有一个create

create 定义:

func Create(c *gin.Context) {
    ...
}

这样如何实现,难道web的crud必须不同名称么?

共 3 个回复


jimmykuu

Go 本来就不支持,再说就算同名了,到底取那一个方法呢?你可以用匿名方法,或者用 package a, package b,来实现

# 0

lonso

啊哦。好吧。。。。。

# 1

minggo

可以试试这种

type st struct {
    name string
}
type st2 struct {
    name string
}

func (s *st) Create() {
    fmt.Println("func A")
}

func (s2 *st2) Create() {
    fmt.Println("func B")
}

func main() {
    var a st
    a.Create()
    var b st2
    b.Create()
}
# 2