如果我理解正确的话——一个包的所有源文件都在同一个范围内。
我有两个文件 - 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
最佳答案
go run *.go
将在类 unix 系统中运行,在 Windows 中尝试列出 main
包中的所有文件
关于go - 同一包中的功能可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662612/