上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页

2022年6月10日

[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 阅读(278) 评论(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 阅读(778) 评论(0) 推荐(0) 编辑

2022年6月9日

[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 阅读(58) 评论(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 阅读(60) 评论(0) 推荐(0) 编辑

2022年6月8日

[go-每日一库] golang mysql的连接池-全面总结

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

posted @ 2022-06-08 23:46 进击的davis 阅读(6600) 评论(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 阅读(561) 评论(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 阅读(427) 评论(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 阅读(6200) 评论(0) 推荐(1) 编辑

2022年6月7日

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 阅读(1353) 评论(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 阅读(580) 评论(0) 推荐(0) 编辑

2022年6月2日

[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 阅读(91) 评论(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 阅读(434) 评论(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 阅读(405) 评论(0) 推荐(0) 编辑

2022年6月1日

[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 阅读(2367) 评论(0) 推荐(0) 编辑

2022年5月18日

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 阅读(199) 评论(0) 推荐(0) 编辑

2022年5月17日

使用火焰图对 Go 程序进行性能分析

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

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

2022年5月11日

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 阅读(30) 评论(0) 推荐(0) 编辑

2022年5月10日

windows gcc 遇到的问题解决

摘要: windows gcc 遇到的问题解决 阅读全文

posted @ 2022-05-10 16:09 进击的davis 阅读(19) 评论(0) 推荐(0) 编辑

protoc生成go文件报错protoc-gen-go: unable to determine Go import path for

摘要: 最近在学习rpc,protoc生成go文件时遇到报错。 例子所用的proto文件如下: syntax = "proto3"; package geecachepb; message Request { string group = 1; string key = 2; } message Respo 阅读全文

posted @ 2022-05-10 10:47 进击的davis 阅读(2490) 评论(0) 推荐(0) 编辑

2022年5月7日

go 1.16环境使用go mod同目录下导包

摘要: 1.同目录下仅main.go所在目录下文件导包 测试的目录文件结构如下: + demo | + demo1 | | + demo1.go | | + demo2 | | | + demo2.go | + go.mod | + main.go 为了测试需要,在demo2.go/demo1.go/mai 阅读全文

posted @ 2022-05-07 14:57 进击的davis 阅读(505) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页

导航