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 的第一個路徑裏。

 
 


        
相關文章
相關標籤/搜索