GinBlog项目
go-ini:读取文件参数、解析数据。 config: 管理项目网站参数。不用再去源文件找。 api:设置不同版本的api middleware:跨域问题,中间件,jwt做一些验证问题 model: 模型。 routes:做一些路由的接口 utils:做一些公共的包,公共功能全局使用,功能模块 upload:上传下载的目录, web:前端页面、做托管静态资源 1. 配置1.1 代理设置在设置>go模块中,设置国内代理。 1GOPROXY=https://goproxy.cn,direct 1.2 运行配置添加配置>选择Go Build。运行种类修改为Directory。 引入go mod 1$ go mod init Ginblog-master 下载Gin包 1$ go get -u github.com/gin-gonic/gin 下载go.ini 123$ go get gopkg.in/ini.v1或者使用 GitHub 上的仓库$ go get github.com/go-ini/ini 2. 业务流程1、数据库初始项目第一步: 做数据库,围绕数...
Go-ini
Go-ini1. 安装1$ go get gopkg.in/ini.v1 也可以使用 GitHub 上的仓库: 1$ go get github.com/go-ini/ini 首先,创建一个my.ini配置文件: 123456789101112131415app_name = awesome web# possible values: DEBUG, INFO, WARNING, ERROR, FATALlog_level = DEBUG[mysql]ip = 127.0.0.1port = 3306user = djpassword = 123456database = awesome[redis]ip = 127.0.0.1port = 6381 注释: 1# 写区 1[] 2. 使用go.ini介绍: 功能:读取文件参数、解析数据。 本质:封装了go的一些读写(OS)功能。 读取:利用load()将ini文件读取出来。 ps.快捷键复制不同行的一些代码:ctrl+shift+alt 鼠标点就可以了 12345678910111213141516171819202...
Go语法区别
Go语言中一些类似但不同语法等使用的区别 数组、new1. &{}和new()12banker := &Banker{}banker := new(Banker) 两者的区别 &Banker{} 和 new(Banker) 都是用来创建一个指向 Banker 类型的指针。 使用 &Banker{}: 这是使用复合字面量(composite literal)来创建一个 Banker 结构体,并取其地址。 它允许你在创建结构体的同时初始化结构体的字段。如果你不提供任何字段值,那么所有字段都会被设置为零值。 示例:banker := &Banker{Field1: value1, Field2: value2} 允许你直接指定某些字段的初始值。 使用 new(Banker): 这是使用内置的 new 函数来分配内存。它返回一个指向新分配的零值 Banker 结构体的指针。 该函数只分配内存而不允许你同时初始化字段;所有的字段都将被设置为其类型的零值。 示例:...
HEXO框架部署
Hexo框架、butterfly主题1.开始1.1 配置在hexo的项目根目录中:下载butterfly 1git clone -b master https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly 1.2 配置主题修改 Hexo 根目录下的 _config.yml,把主题改为 butterfly 1theme: butterfly 1.3 安装插件如果你没有 pug 以及 stylus 的渲染器,请下载安装: 1npm install hexo-renderer-pug hexo-renderer-stylus --save 1.4 修改主题为了减少升级主题后带来的不便: 在 hexo 的根目录创建一个文件 _config.butterfly.yml,并把主题目录的 _config.yml 内容复制到 _config.butterfly.yml 去。( 注意: 复制的是主题的 _config.yml ,而不是 hexo 的 _config.yml) 2. 页面标签、分类、友情页是必须要有的...
Gorm框架
Gorm1. 入门1.1 配置下载mysql的驱动 12go get gorm.io/driver/mysqlgo get gorm.io/gorm 连接: 12345678910111213141516username := "root" //账号password := "123456" //密码host := "127.0.0.1" //数据库地址,可以是Ip或者域名port := 3306 //数据库端口Dbname := "gorm" //数据库名timeout := "10s" //连接超时,10秒// root:root@tcp(127.0.0.1:3306)/gorm?dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&timeout=%s", username, password, h...
Gin框架
Gin框架文档官方文档地址:介绍 | Gin Web Framework (gin-gonic.com) 1. 安装要安装 Gin 软件包,需要先安装 Go 并设置 Go 工作区。 1.下载并安装 gin: 1$ go get -u github.com/gin-gonic/gin 2.将 gin 引入到代码中: 1import "github.com/gin-gonic/gin" 3.(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包: 1import "net/http" 2. Gin使用2.1 接口使用gin编写一个接口: 12345678910111213141516package mainimport ( "github.com/gin-gonic/gin")func main() { //1.创建一个默认的路由 router := gin.Default() //2.绑定路由规则和路由函数,访问/index的路由,将有对应的函数去处理 ro...
Go Web
书籍推荐及笔记参考:《Go Web 编程》 谢孟军 一、Web 基础1.web工作方式对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。 Web服务器的工作原理可以简单地归纳为: 客户机通过TCP/IP协议建立到服务器的TCP连接 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档 服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端 客户机与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结...
Golang基础
Golang基础一、Go语言0.Go前景 云计算基础设施领域代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。 基础软件代表项目:tidb、influxdb、cockroachdb 等。 微服务代表项目:go-kit、micro、monzo bank 的 typhon、bilibili 等。 互联网基础设施代表项目:以太坊、hyperledger 等。 Go框架组件: Web beego 国内开发,文档比较全 gin 主流web框架,轻量级,高性能 echo 类似于gin Iris 重量级,高性能 微服务 go kit 一套集成组合方案,包含很多工具,比较灵活。 Istio 一体化集成式框架,包括熔断降级、安全审计等一整套方案,适合比较繁琐的大型微服务项目。 Tcp长链接 zinx 轻量级服务器 容器编排 kubernetes google研发 swarm docker团队研发 服务发现 consul 服务发现...

