如果我理解正确 - 包的所有源文件都在同一范围内。
我有两个文件 - 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
答案 0 :(得分:2)
go run *.go
将在unix like system中运行,在Windows中尝试列出main
包中的所有文件