# goblog **Repository Path**: stilly/goblog ## Basic Information - **Project Name**: goblog - **Description**: Golang learning notes - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-17 - **Last Updated**: 2021-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 本地查看Go文档 ```godoc -http=:6060``` ### 自动重载 * 开启 go proxy ` go env -w GOPROXY=https://goproxy.cn` * 安装air `GO111MODULE=on go get -u github.com/cosmtrek/air` * 检查air `air -v` * 启动air `air` ### 设置Content-Type标头 * text/html —— HTML 文档 * text/plain —— 文本内容 * text/css—— CSS 样式文件 * text/javascript —— JS 脚本文件 * application/json—— JSON 格式的数据 * application/xml —— XML 格式的数据 * image/png —— PNG 图片 ### http.ServeMux * 优点 * 标准库意味着随着 Go 打包安装,无需另行安装 * 测试充分 * 稳定、兼容性强 * 简单,高效 * 局限性 * 不支持 URI 路径参数 * 不支持请求方法过滤 * 不支持路由命名 ### Gorilla Mux > gorilla/mux 的路由解析采用的是 精准匹配 规则,而 net/http 包使用的是 长度优先匹配 规则 * 精准匹配 指路由只会匹配准确指定的规则,这个比较好理解,也是较常见的匹配方式。 * 长度优先匹配 一般用在静态路由上(不支持动态元素如正则和 URL 路径参数),优先匹配字符数较多的规则。 * 初始化 Go Modules ```go mod init``` * 安装 ```go get -u github.com/gorilla/mux``` ### 依赖管理 Go Modules > Go Modules 是 Go 语言的代码依赖管理工具。类似于 PHP 中的 Composer、Node.js 中的 npm 。 * go.mod 类似于 PHP 中的 composer.json * go.sum 则是类似于 composer.lock * go mod tidy 命令 清理未用到的包 ### Go模板语法 * {{.}} 当前对象 * with 关键字 * pipeline * range 遍历