[英]golang struct from other package
情况:
我有以下项目结构:
root
parser
parser.go
builtin
exit.go
hi.go
structs
base_structs.go
main.go
..和base_structs.go
文件如下所示:
package structs
type Built_in_func func([] string)
type Built_in struct {
s string
f Built_in_func
}
我已经将包导入了main.go
并且使用structs.Built_in
引用了struct。
这就是我想要做的:
var builtin_list [] structs.Built_in
builtin_list = append(builtin_list, structs.Built_in{s:"exit", f:builtin.Exit})
builtin_list = append(builtin_list, structs.Built_in{s:"hi", f:builtin.Hi})
但我收到此错误:
未知structs.Built_in字段中的struct文字
题:
我究竟做错了什么?
在Go中,包外部名称的可见性取决于其首字符是否为大写。
因此,字段s
实际上从包structs
外部不可见,您会收到该错误。
如果您将结构定义为(请注意大写):
type Built_in struct {
S string
F Built_in_func
}
然后这将起作用(再次大写):
structs.Built_in{S:"exit", F:builtin.Exit}
你可以在这里阅读更多:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.