随笔分类 -  golang

[go-每日一库]golang-gorm实现增删改查CRUD(三)
摘要:原文链接: 1.(四)GORM插入数据 https://www.cnblogs.com/infodriven/p/16351285.html 2.(五)GORM查询数据 https://www.cnblogs.com/infodriven/p/16351370.html 3.(六)GORM更新数据 阅读全文

posted @ 2022-06-11 09:19 进击的davis 阅读(1557) 评论(0) 推荐(0)

[go-每日一库]golang-gorm模板-连接-自动建表-错误处理(二)
摘要:原文链接: 1.(二)GORM模板定义 https://www.cnblogs.com/infodriven/p/16348171.html 2.(三)GORM连接数据库 https://www.cnblogs.com/infodriven/p/16348215.html 3.(十三)GORM 自动 阅读全文

posted @ 2022-06-11 08:10 进击的davis 阅读(2434) 评论(0) 推荐(0)

[go-每日一库]golang-gorm的快速入门(一)
摘要:原文:(一)GORM快速入门教程 https://www.cnblogs.com/infodriven/p/16348116.html 1.介绍 GORM是Golang目前比较人们的数据库ORM操作库,对开发者也比较友好,使用非常简单,使用上主要就是把struct类型和数据库表记录进行映射,操作数据 阅读全文

posted @ 2022-06-10 23:07 进击的davis 阅读(644) 评论(0) 推荐(0)

[go-每日一库]golang swagger自动生成api文档
摘要:代码结构 . + docs | + docs.go | + swagger.json | + swagger.yaml + go.mod + go.sum + main.go + router | + router.go router.go package router import ( "gith 阅读全文

posted @ 2022-06-10 18:21 进击的davis 阅读(371) 评论(0) 推荐(0)

[go-每日一库] golang viper实现动态配置更新
摘要:viper库下载: go get -u github.com/spf13/viper 代码结构: . + config | + config.go | + config.yaml + go.mod + go.sum + main.go config.yaml app: app1: timeout: 阅读全文

posted @ 2022-06-10 14:29 进击的davis 阅读(1037) 评论(0) 推荐(0)

[go-每日一库]golang Json的编解码
摘要:1.Json编码 Golang处理JSON(一) 编码 2.Json解码 Golang处理JSON(二) 解码 代码示例: package main import ( "encoding/json" "fmt" ) func main() { // json -> unmarshal raw := 阅读全文

posted @ 2022-06-09 16:25 进击的davis 阅读(72) 评论(0) 推荐(0)

golang mysql相关操作
摘要:1.连接 连接与连接池 代码: package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "log" "time" ) func main() { db, err := sql.Open("mysql" 阅读全文

posted @ 2022-06-09 16:07 进击的davis 阅读(68) 评论(0) 推荐(0)

[go-每日一库] golang mysql的连接池-全面总结
摘要:1.mysql-通过sql建立连接池 连接池 用sql.Open函数创建连接池,可是此时只是初始化了连接池,并没有创建任何连接。连接创建都是惰性的,只有当你真正使用到连接的时候,连接池才会创建连接。连接池很重要,它直接影响着你的程序行为。 连接池的工作原来却相当简单。当你的函数(例如Exec,Que 阅读全文

posted @ 2022-06-08 23:46 进击的davis 阅读(8659) 评论(0) 推荐(0)

[go-每日一库] golang redigo的redis连接池的实现
摘要:1.介绍 go-redis 三方库为我们封装了很多函数来执行 Redis 命令,而 redigo 三方库只有一个 Do 函数执行 Redis 命令,更接近使用 redis-cli 操作 Redis,这一点是我个人比较喜欢的,只要熟悉 Redis,就可以轻松使用 redigo 作为客户端操作 Redi 阅读全文

posted @ 2022-06-08 18:07 进击的davis 阅读(658) 评论(0) 推荐(0)

[go-每日一库] golang中base64 md5 sha256的编解码及摘要算法
摘要:见代码: package main import ( "crypto/md5" "crypto/sha256" "encoding/base64" "encoding/hex" "fmt" "io" ) func main() { var str string = "hello world" // 阅读全文

posted @ 2022-06-08 16:18 进击的davis 阅读(516) 评论(0) 推荐(0)

golang gin框架使用ShouldBindJson && ShouldBindBodyWith的区别
摘要:1.ShouldBindJson vs ShouldBindBodyWith ShouldBindJSON方法是最常用解析JSON数据的方法之一,但在重复调用的情况下会出现EOF的报错,这个原因出在ShouldBindJSON在调用过一次之后context.request.body.sawEOF的值 阅读全文

posted @ 2022-06-08 14:42 进击的davis 阅读(8563) 评论(0) 推荐(1)

golang gin框架中间件的使用-使用流程、定义、用例及总结(全面)
摘要:1.middleware的使用流程 代码如下: 点击查看代码 package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func main() { r := router() r.Run(":8080") } func r 阅读全文

posted @ 2022-06-07 18:34 进击的davis 阅读(1617) 评论(0) 推荐(0)

[go-每日一库]golang gin框架的session的简单实现
摘要:主要思路: 1.通过cookie作为载体,实例化store 2.设置超时时间 3.注册session的中间件 4.业务逻辑判断后设置session的key-value,并生成session 代码如下: 点击查看代码 package main import ( "github.com/gin-cont 阅读全文

posted @ 2022-06-07 18:05 进击的davis 阅读(632) 评论(0) 推荐(0)

[go-每日一库] go-redis客户端的实现
摘要:见代码: package cache import ( "context" "fmt" "github.com/go-redis/redis/v8" "time" ) var rdb *redis.Client // initial conn func initClient() (err error 阅读全文

posted @ 2022-06-02 17:10 进击的davis 阅读(99) 评论(0) 推荐(0)

[go-每日一库] go使用uber的zap库简单实现日志功能
摘要:代码结构: . + go.mod + go.sum + logs | + zap.log + main.go + zlog | + log.go 见代码: // https://mp.weixin.qq.com/s/Jh2iFY5uGe0qCFdKZWjotA package zlog import 阅读全文

posted @ 2022-06-02 16:12 进击的davis 阅读(490) 评论(0) 推荐(0)

[go-每日一库] 使用log标准库实现日志功能
摘要:golang的log标准库对于一些简单的日志功能,可以很方便给我们输出相应日志。 本文主要基于日常的简单使用做分享。 1.实现简单的日志记录 见代码: package main import ( "log" "os" ) func main() { file, err := os.OpenFile( 阅读全文

posted @ 2022-06-02 15:10 进击的davis 阅读(605) 评论(0) 推荐(0)

[go-每日一库] golang 使用jwt-go生成token、解析token
摘要:代码: package main import ( "fmt" "github.com/dgrijalva/jwt-go" "time" ) func main() { token, _ := GenerateToken("user", "password") fmt.Println("token: 阅读全文

posted @ 2022-06-01 17:43 进击的davis 阅读(2919) 评论(0) 推荐(0)

golang 的net包的网络编程 TCP | HTTP | RPC
摘要:golang net包 1.TCP网络编程 server.go package main import ( "fmt" "log" "net" "os" "time" ) func main() { // 建立socket监听 lis, err := net.Listen("tcp", "local 阅读全文

posted @ 2022-05-18 19:50 进击的davis 阅读(268) 评论(0) 推荐(0)

使用火焰图对 Go 程序进行性能分析
摘要:使用火焰图对 Go 程序进行性能分析 阅读全文

posted @ 2022-05-17 11:35 进击的davis 阅读(74) 评论(0) 推荐(0)

go实现十大经典排序
摘要:排序代码: package sort import ( "math" "math/rand" "strconv" "time" ) func NewNums(length int, maxNum int) []int { nums := make([]int, length) rand.Seed(t 阅读全文

posted @ 2022-05-11 08:34 进击的davis 阅读(45) 评论(0) 推荐(0)

导航