gin框架练习笔记
摘要:本文主要记录一下自己学习gin框架过程中亲自写的一些练习与笔记,温故而知新。 全部是参考这篇博客:https://www.liwenzhou.com/posts/Go/Gin_framework/#autoid-0-8-3 另外,所有的代码均使用testing实现,需要将go文件的名称命名为xxx_
阅读全文
posted @
2020-12-08 15:18
江湖乄夜雨
阅读(414)
推荐(0)
Python与Go中“类的归一化设计”实现与对比
摘要:Python中类的归一化设计 在Python中实现类的归一化设计有2种思路:一种是使用abc模块限制,另外一种是在父类种给某些方法主动抛出异常,如果子类不实现父类的方法,根据方法的调用顺序程序会报错。 abc模块实现类的归一化 import abc class Father(metaclass=ab
阅读全文
posted @
2020-12-05 10:49
江湖乄夜雨
阅读(480)
推荐(0)
Golang序列化与反序列化操作总结及一些实践经验
摘要:前言 本文总结一下自己这一个多月写Go代码以来有关JSON序列化与反序列化的学习及实践使用经验,如有更好的包或者解决方法欢迎下方留言。 一些实践经验 将结构复杂的map数据直接解析为string处理 *** 实际中有个API返回的数据是这样结构的: {"id": "23846617xxxxx", "
阅读全文
posted @
2020-12-01 15:36
江湖乄夜雨
阅读(3407)
推荐(0)
Go控制协裎并发数量的用法及实际中的一个案例
摘要:实际中并发的问题 之前有一篇文章介绍了在Go中使用waitGroup开启Goroutine并发处理任务的小demo:使用waitgroup在循环中开Goroutine处理并发任务。 上面的这种写法其实有一个bug,比如说实际中我有上万个任务需要执行,使用上面的写法会在默认情况下在一个线程中开尽可能多
阅读全文
posted @
2020-11-27 11:43
江湖乄夜雨
阅读(442)
推荐(0)
使用Go处理带证书的请求(含发送POST请求的具体实现)
摘要:前言 对接Apple渠道的API接口需要在请求中加上证书认证,源证书的格式为.p12,需要转成.pem格式存储Cert与PrivateKey信息,然后利用.pem文件中的信息发送请求。 将p12文件转换为pem文件 直接在mac终端使用命令即可完成: openssl pkcs12 -in xxx.p
阅读全文
posted @
2020-11-21 15:29
江湖乄夜雨
阅读(2452)
推荐(0)
利用递归的方式获取restful风格有nextUrl接口返回的数据
摘要:概述 最近做业务获取到的API中的数据格式如下: { "data": [ { "account_id": "xxx", "campaign_id": "xxxxxxx", "id": "x32xx284026xxx9" }, { "account_id": "xxx", "campaign_id":
阅读全文
posted @
2020-11-07 16:54
江湖乄夜雨
阅读(374)
推荐(0)
使用Go解析HTTP返回数据为struct并存入数据库的操作
摘要:简介 之前初级版本的博客:使用Go处理SDK返回的嵌套层级数据并将所需字段存入数据库(一) 之前的这篇博客介绍了如何去处理HTTP请求获取到的响应数据以及转换成map的思路,但是前面那种方法太繁琐了,这里给出优化版本的使用方案以及具体说明。 本优化版本大体的思路为:将HTTP返回的响应转为json结
阅读全文
posted @
2020-10-31 16:23
江湖乄夜雨
阅读(8793)
推荐(0)
使用waitgroup在循环中开Goroutine处理并发任务
摘要:简介 实际项目中遇到了需要并发处理的任务,在for循环中用Go的Goroutine去处理任务遇到了一些问题,这里写一个demo记录一下简单的过程。 同步的代码 这里用一个简单的time.sleep模拟一下同步的代码,然后再看看开协程处理的不同之处: package main import ( "fm
阅读全文
posted @
2020-10-30 21:01
江湖乄夜雨
阅读(637)
推荐(0)
使用Go处理SDK返回的嵌套层级数据并将所需字段存入数据库(一)
摘要:优化版本 想看优化版本请移步: 使用Go解析HTTP返回数据为struct并存入数据库的操作 前言 新项目使用Go搭建服务,其中涉及到很多业务数据的构建以及处理的逻辑,笔者也是刚刚开始写Go代码,刚刚开始的时候必然会踩很多坑,这里就记录一下笔者在处理SDK返回的层级数据时遇到的问题以及后续的优化处理
阅读全文
posted @
2020-10-29 16:45
江湖乄夜雨
阅读(797)
推荐(0)
go常用操作
摘要:倒序遍历切片中的元素 package t9 import ( "fmt" "testing" ) func TestRange(t *testing.T) { lst1 := []int{1, 2, 3, 4, 5} // 方法1 for index := range lst1{ curr := l
阅读全文
posted @
2020-10-28 11:38
江湖乄夜雨
阅读(159)
推荐(0)
《Go语言开发实战》笔记
摘要:1 基础部分 Go语言基本结构及说明 package main import ( "fmt" "runtime" ) func main() { fmt.Println("hello world") // 查看版本 fmt.Println(runtime.Version()) } func main
阅读全文
posted @
2020-10-24 20:22
江湖乄夜雨
阅读(596)
推荐(0)
Golang技术栈归结
摘要:kratos系列 *** kratos项目中使用分布式锁介绍 基于etcd实现的分布式锁 / 另外一个kratos_rockscache项目中有介绍使用SETNX命令实现一个简单的非等待的分布式锁 kratos项目中使用gorm的Transaction的方法介绍 ***** 事务开始时使用tx /
阅读全文
posted @
2020-10-21 19:53
江湖乄夜雨
阅读(1202)
推荐(0)
使用go module导入本地包
摘要:前言 Go语言没有实现像Python那样实现灵活的导入本地包与模块的机制,在使用Go开发时遇到了本地包的相互导入问题,这里写一个demo总结一下。 在同一项目中的情况 项目的目录结构如下:其中mypackage包中的go脚本分别是主项目需要导入的函数;主项目是根目录下的那个main.go文件。 代码
阅读全文
posted @
2020-10-21 18:00
江湖乄夜雨
阅读(3533)
推荐(0)