zoukankan      html  css  js  c++  java
  • Golang 开发框架 gin 项目时笔记

    1.模板引入时报错:

    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/

    发现出现报错:html/template: "post/index.tmpl" is undefined

    如果非要按照官方文档,请注意模板文件开头一定要定义

    {{ define "posts/index.tmpl" }}
    <html><h1>
    	{{ .title }}
    </h1>
    <p>Using posts/index.tmpl</p>
    </html>
    {{ end }}
    

      

    下载:

    go get   github.com/jinzhu/gorm

    go get   github.com/go-sql-driver/mysql

    这样的库比较慢时,呵呵呵,等着吧,只要不自动失败就行,最后一般能下载成功的。。。

    项目依赖包最好放在项目目录下:否则

    • 每一个新来的人都要go get很多次
    • 拉下来的版本还可能不一样
    • 线上部署更麻烦了

    可在项目其他目录书写包文件,然后在其他目录引入这个包,调用时默认时包 package name

    包里的init方法 可以初始化包

    多个文件可以定义为同一个包名, 同一个包下,变量可以公用。

    model 定义表结构体时,加入

    gorm.Model
    新增数据时会自动维护表的 created_at 和 updated_at 字段


    init函数在你导入该package时程序会自动调用init函数

    在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数;
    有输入参数,是结构的方法,输入参数叫做“方法接收者”!GO语言没有类,方法都定义在结构上了!!
    参考链接:https://www.codetd.com/article/6771261

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

    
    
    
    
     
  • 相关阅读:
    Python代码项目目录规范v1.0
    博客自定义
    Linux之查看CPU信息
    Python字符界面函数库
    数组的遍历你都会用了,那Promise版本的呢
    NPM实用指北
    如何从0开发一个Atom组件
    使用JavaScript实现一个俄罗斯方块
    使用PostMan进行API自动化测试
    一个有味道的函数
  • 原文地址:https://www.cnblogs.com/winyh/p/11153975.html
Copyright © 2011-2022 走看看