猿问

导入的结构方法不起作用

如果我运行以下代码,一切都会编译并运行良好:


package main


import "fmt"


type Point struct {

    x, y int

}


func (p *Point) init() bool {

    p.x = 5

    p.y = 10

    return true

}


func main() {

    point := Point{}

    point.init()

    fmt.Println(point)

}

但是当我将 移动Point struct到$GOPATH目录中的一个包时,我收到以下错误:point.init undefined (cannot refer to unexported field or method class.(*Point)."".init)


谁能向我解释为什么会发生这种情况?


一旦我把它Point struct放在一个名为class的包中,代码看起来如下(错误在我调用init方法的第 8 行):


package main


import "fmt"

import "class"


func main() {

    point := class.Point{}

    point.init()

    fmt.Println(point)

}


一只萌萌小番薯
浏览 228回答 2
2回答
随时随地看视频慕课网APP

相关分类

Go
我要回答