Golang 开发框架 gin 项目时笔记

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

g
o get XXX 下载的包,默认会安装在GOPATH 的第一个路径里。

 
 


        
相关文章
相关标签/搜索