今天调试程序的时候发现程序报is an unexported field of struct type controllers,但是用fmt.Println打印结构能正常 ,只是放到模板引擎中就不能访问了。
查找错误过程:
在控制台能够通过FMT包打印结构体,那么证明语法上应该没有什么问题。而且发生错误只是在模板调用的时候发生,于是从调用的数据入手。原先的定义的结构是
type Good struct{
item string
price float
}
后来想起,GO语言中要提供给外面访问的方法或是结构体必须是首字母大写。这个结构体只有结构体名大写了,而里面的字段没有首字母大写,而GO语言在模板调用时应该认为是两个不同的过程,所以找不到值。于是把结构改为
type Good struct{
Item string
Price float
}
成功解决问题。看来还是自己不太细心造成了这么低级别的错误,需要好好巩固对GO语言的基础。有疑问加站长微信联系(非本文作者)