随笔分类 -  golang

go-gin简单实现tls https服务
摘要:1.目录结构 2.代码 由于是demo,可以手动自生成证书和秘钥: 1、 生成服务器端的私钥 # openssl genrsa -out server.key 2048 2、 生成服务器端证书 # openssl req -new -x509 -key server.key -out server. 阅读全文

posted @ 2022-11-23 15:57 进击的davis 阅读(1205) 评论(0) 推荐(0)

golang-gin-gorm-viper实现数据简单的增删改查
摘要:目录结构: 配置文件: app: addr: 127.0.0.1:8888 mysql: host: 172.xx.xx.xx port: 3306 user: root password: root database: gin enable: true gorm: skipDefaultTx: f 阅读全文

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

go-gin集成jwt认证
摘要:今天趁热打铁,把cookie/session/jwt集成go-gin框架的认证方式,一鼓作气全code一遍,life is short, show you the code. 示例目录结构: 项目入口: package main import ( "gin-any/api" "github.com/ 阅读全文

posted @ 2022-11-03 18:15 进击的davis 阅读(461) 评论(0) 推荐(0)

go-gin集成session认证
摘要:常用的认证方式分为cookie/session/jwt,本文将演示golang的gin框架中如何集成session完成用户认证。 示例目录结构: 项目main入口: package main import ( "gin-any/api" "github.com/gin-gonic/gin" ) fu 阅读全文

posted @ 2022-11-03 16:44 进击的davis 阅读(808) 评论(0) 推荐(0)

go-gin集成cookie认证
摘要:cookie的作用不用细说,作为简单而基础的认证方法,以前用的比较多,随着技术的演进,cookie的问题也出现,比如跨域、安全问题等。 本文基于golang语言的gin框架,演示cookie在gin框架的集成使用,作为一个学习记录。 示例目录结构: 先看看项目入口: package main imp 阅读全文

posted @ 2022-11-03 11:23 进击的davis 阅读(362) 评论(0) 推荐(0)

go-gin实现文件上传
摘要:单个文件上传见代码 package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func main() { server := gin.Default() gin.SetMode(gin.DebugMode) fmt.Pri 阅读全文

posted @ 2022-10-31 14:53 进击的davis 阅读(390) 评论(0) 推荐(0)

go语言常用命令汇总
摘要:1.go命令集 查看所有命令 The commands are: bug start a bug report build compile packages and dependencies // 编译 clean remove object files and cached files doc s 阅读全文

posted @ 2022-07-22 10:43 进击的davis 阅读(341) 评论(0) 推荐(0)

[go-每日一库] golang-grpc库-protoc基本参数与简单实践(一)
摘要:grpc使用protobuf进行序列化、反序列化,通常用protoc作为编译工具,对于go使用grpc作为rpc的框架,由于protoc工具未实现go-generate,我们需要使用protoc-gen-go插件帮我们生成go文件。 本文的分享分为以下方面: 准备工作 protoc工具的相关命令 p 阅读全文

posted @ 2022-07-21 18:22 进击的davis 阅读(2882) 评论(0) 推荐(0)

[go-每日一库] golang实现gin的获取响应体内容,请求与响应体的改写与获取
摘要:参考: gin中获取响应体内容 golang gin 代理和改包 由于在gin中不能直接获取响应体的信息,但可以通过Writer获取。 下面介绍下具体获取gin的响应的步骤。 1.定义新的ResponseWriter 代码: type ResponseWriterWrapper struct { g 阅读全文

posted @ 2022-07-20 10:42 进击的davis 阅读(3966) 评论(0) 推荐(0)

[go-每日一库] golang通过io/bufio库实现文件的读写及解封包操作
摘要:在日常操作中,对文件的操作比较多的是打开文件、关闭文件、读取内容、写入内容、打包、解包,今天分享个这些操作的基本case,用到的库也都是go自带的常用库,包括io、bufio、archive/zip等。 本文用到库的import: import ( "archive/zip" "bufio" "fm 阅读全文

posted @ 2022-07-16 14:47 进击的davis 阅读(978) 评论(0) 推荐(0)

[go-每日一库] golang olivere/elasticsearch/v6 的基本使用 -> 索引|文档常用操作及查询
摘要:准备工作 本文演示内容基于olivere/elasticsearch/v6 下载该库: go get github.com/olivere/elastic/v6 初始化es es初始化代码 func initES() *elastic.Client { sniffopt := elastic.Set 阅读全文

posted @ 2022-06-30 15:03 进击的davis 阅读(2445) 评论(0) 推荐(0)

[go-每日一库] go借助net/http包实现客户端get、post请求
摘要:本文主要通过net/http实现简单server,另外根据net/http,区分简单请求和带参数的复杂请求实现客户端。 1.server端 package main import ( "encoding/json" "log" "net/http" ) func main() { http.Hand 阅读全文

posted @ 2022-06-27 15:11 进击的davis 阅读(379) 评论(0) 推荐(0)

[go-每日一库] go语言文件处理
摘要:TODO 参考: 1.Go语言文件处理 阅读全文

posted @ 2022-06-25 14:53 进击的davis 阅读(44) 评论(0) 推荐(0)

[go-每日一库] golang 通过os/exec执行shell命令
摘要:直接上代码: package main import ( "fmt" "os/exec" "time" ) func main() { // 执行并等待结束,正确执行返回nil error, 同步 fmt.Println("cmd with run,", time.Now()) cmd := exe 阅读全文

posted @ 2022-06-25 11:03 进击的davis 阅读(522) 评论(0) 推荐(0)

[go-每日一库] golang借助json库实现struct/map与json的互转
摘要:话不多说,直接上代码。 1.功能函数 // json -> struct/map, dst should be ptr func Json2StructOrMap(raw string, dst interface{}) { _ = json.Unmarshal([]byte(raw), &dst) 阅读全文

posted @ 2022-06-24 16:00 进击的davis 阅读(287) 评论(0) 推荐(0)

[go-每日一库] golang中借助json等库实现struct和map互转
摘要:1.struct → map 1.1 version-1 指定struct中tag-map // version-1, struct -> map type User struct { Name string `map:"name,omitempty"` Age int `map:"age,omit 阅读全文

posted @ 2022-06-24 15:33 进击的davis 阅读(175) 评论(0) 推荐(0)

[go-每日一库] golang validator常规参数校验及自定义规则校验
摘要:1.validator简介 validator是一个开源的验证器包,可以快速校验输入信息是否符合自定规则。源码地址: https://github.com/go-playground/validator 本地开发安装库: go get github.com/go-playground/validat 阅读全文

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

[go-每日一库] golang gin框架路由设置(全面)
摘要:1.一般路由设置 ... r.Any("/ping", anything) // r.POST("/post", posting) // r.PUT("/put", putting) // r.DELETE("/delete", deleting) // r.PATCH("/patch", patc 阅读全文

posted @ 2022-06-22 16:43 进击的davis 阅读(970) 评论(0) 推荐(0)

[go-每日一库]golang-gorm的事务处理(五)
摘要:原文链接: 1.(八)GORM事务处理 https://www.cnblogs.com/infodriven/p/16351565.html 1.自动事务 通过db.Transaction函数实现事务,如果闭包函数返回错误,则回滚事务。 db.Transaction(func(tx *gorm.DB 阅读全文

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

[go-每日一库]golang-gorm实现关联查询(四)
摘要:原文链接: 1.(九)GORM 关联查询-属于 https://www.cnblogs.com/infodriven/p/16351582.html 2.(十)GORM 关联查询 - 一对一关系(has one)https://www.cnblogs.com/infodriven/p/1635159 阅读全文

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

导航