英文:
function visibility in the same package
问题
如果我理解正确,一个包的所有源文件都存在于同一个作用域中。
我有两个文件 - 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
英文:
If I understand correctly - all the source files of a package live at the same scope.
I have two files - 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()
When I am compiling the code I get the error:
.\main.go:34: undefined: newRoom
Why ?
Full code is here https://github.com/matryer/goblueprints/tree/master/chapter1/chat
答案1
得分: 2
在类Unix系统中,可以使用go run *.go
命令运行,而在Windows系统中,尝试列出main
包中的所有文件。
英文:
go run *.go
will work in unix like system, and in Windows try to list all files in main
package
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论