1.模板引入时报错:html
func main() { router := gin.Default() router.LoadHTMLGlob("templates/**/*") router.GET("/posts/index", func(c *gin.Context) { c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ "title": "Posts", }) }) router.GET("/users/index", func(c *gin.Context) { c.HTML(http.StatusOK, "users/index.tmpl", gin.H{ "title": "Users", }) }) router.Run(":8080") }
// 须要去掉 / posts 和 users ,标记红色的字符串去掉就正常了
按照官网写法,https://gin-gonic.com/zh-cn/docs/examples/html-rendering/mysql
发现出现报错:html/template: "post/index.tmpl" is undefinedgit
若是非要按照官方文档,请注意模板文件开头必定要定义github
{{ define "posts/index.tmpl" }} <html><h1> {{ .title }} </h1> <p>Using posts/index.tmpl</p> </html> {{ end }}
下载:sql
go get github.com/jinzhu/gorm
segmentfault
go get github.com/go-sql-driver/mysqlide
这样的库比较慢时,呵呵呵,等着吧,只要不自动失败就行,最后通常能下载成功的。。。函数
项目依赖包最好放在项目目录下:不然post
go get
不少次可在项目其余目录书写包文件,而后在其余目录引入这个包,调用时默认时包 package namespa
包里的init方法 能够初始化包
多个文件能够定义为同一个包名, 同一个包下,变量能够公用。
model 定义表结构体时,加入
gorm.Model
新增数据时会自动维护表的 created_at 和 updated_at 字段
init函数在你导入该package时程序会自动调用init函数
在刚接触GO语言时候,我相信你也会有这种困惑,为何有的函数名前面有输入参数,而一些却没有,它们是否有差异?确实有差异,没有输入参数,是通常的函数;
有输入参数,是结构的方法,输入参数叫作“方法接收者”!GO语言没有类,方法都定义在结构上了!!
参考连接:https://www.codetd.com/article/6771261
go get XXX 下载的包,默认会安装在GOPATH 的第一个路径里。