功能可见性在同一个包中

时间:2017-08-13 16:40:57

标签: go

如果我理解正确 - 包的所有源文件都在同一范围内。

我有两个文件 - room.go:

package main

func newRoom() *room {
    return &room{
        forward: make(chan []byte),
        join:    make(chan *client),
        leave:   make(chan *client),
        clients: make(map[*client]bool),
        tracer:  trace.Off(),
    }
}

main.go:

package main

func main() {    
    r := newRoom()

当我编译代码时,我收到错误:

.\main.go:34: undefined: newRoom

为什么?

完整代码在这里https://github.com/matryer/goblueprints/tree/master/chapter1/chat

1 个答案:

答案 0 :(得分:2)

go run *.go将在unix like system中运行,在Windows中尝试列出main包中的所有文件