![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go成长之路
Elemyin
哦豁~
展开
-
windows 解决 cc1.exe: sorry, unimplemented: 64-bit mode not compiled in 问题时踩的坑
使用goland运行go程序时,系统报错 cc1.exe: sorry, unimplemented: 64-bit mode not compiled in, 直接cv到浏览器,看各位大神的解答,统一是升级MinGW版本(这也确实是解决方案),使用gcc -v看了下我的版本oh…这是什么古老的版本,还是32位的,也不知道啥时候假酒喝多了装了这个版本。好吧,官网下载直接最新版本走起,下载后安装,配置环境变量,正常情况下这时候我们重新打开窗口,使用命令可以看到版本已经是最新的,但是既然是坑,那就是遇到原创 2020-10-28 17:04:50 · 7608 阅读 · 1 评论 -
go 结构体赋值 invalid memory address or nil pointer dereference
go 指针结构体赋值1、前言2、举例3、分析4、解决1、前言日常生产中,当我们使用go指针结构体赋值时,会报出invalid memory address or nil pointer dereference错误,那错误是如何产生的呢,我们该如何解决呢2、举例看一下例子package mainimport "fmt"type User struct { UserName string `json:"user_name"` Password string `json:"password"原创 2020-07-13 18:51:29 · 6808 阅读 · 0 评论 -
Go 实现高并发下同步请求的思路
Go 实现同步请求的思路1、背景2、思路1、背景在实际生产中,我们或多或少的需要对接第三方的同步接口,那我们如何实现高并发下go的同步请求方法呢,下面我就讲一下我最近在生产中运用的一种方法。我们最近遇到的需求是对接第三方的接口,需要实时的获取到对方的相应数据,超过三秒没有拿到则判断请求失败,返回对应的错误信息。2、思路我的做法是,首先定义一个全局的channelvar ReqChannel = make(chan *Packet, 20)然后在请求的业务里,定义一个请求唯一的id并往这个ch原创 2020-07-05 21:44:33 · 1262 阅读 · 0 评论 -
Go gorm框架获取sql,tableName和主键值
gorm 框架获取sql1、背景2、方法1、背景我们在使用go的gorm框架的时候,需要将运行的sql打印到我们指定的log文件中亦或是需要对我们的sql进行业务处理,这时候我们设置了LogMode为true时,就可以在控制台打印运行时sql,但这样并不能满足业务需求。2、方法首先我们需要在连接完数据库以后,开启我们的日志打印// 连接数据库mysqlDB, err := gorm.Open("mysql", DbUrl)// 开启日志mysqlDB.LogMode(true)然后我们调原创 2020-07-05 21:19:52 · 5808 阅读 · 0 评论 -
go中判断空字符串、nil和len(t)的用法
我们在实际生产中经常会遇到判断各种为空的情况,那在go中""、nil、len(t) = 0 三种空分别在什么地方下使用的呢,下面我们来看下:1、"" 一般是判断一个string字符串是否为空var t stringif t == "" { fmt.Println("aaaaaa")}2、nil 一般是判断结构体的指针是否为空type Demo struct { Name string Password string}func main() { var d *Demo原创 2020-06-19 18:59:36 · 29764 阅读 · 2 评论 -
go的字符串分隔
s:=“CONFIRMED, COMPLETED”sep:=","arr:=strings.Split(s,sep)fmt.Println(arr)原创 2020-06-19 18:47:14 · 819 阅读 · 0 评论 -
go int、int64、string之间的转换
最近一直在写go的项目,很多常用的东西都不记得了,记个笔记,都是一些零碎的东西,方便查找。string转成int:int, _ := strconv.Atoi(string)string转成int64:int64, _:= strconv.ParseInt(string, 10, 64)int转成string:string := strconv.Itoa(int)int64转成string:string := strconv.FormatInt(int64,10)...原创 2020-06-19 18:45:47 · 6376 阅读 · 0 评论 -
go 生成N位随机数
生成N位随机数,方法如下// 随机数字串func RandomNum(length int) string { result := "" rand.Seed(time.Now().UnixNano()) for i := 0; i < length; i++ { num := rand.Intn(10) result = result + strconv.Itoa(num) } return result}原创 2020-06-12 17:05:32 · 674 阅读 · 0 评论 -
protobuf实例运行proto: cannot use m.ProtoMethods() (type *protoreflect.Message) as type *struct ...解决方案
项目中用到了 canal-go去监听mysql的binlog,在使用protobuf运行实例时报错275…/…/…/gopath/src/google.golang.org/protobuf/proto/proto_methods.go:18:23: cannot use m.ProtoMethods() (type *protoreflect.Message) as type *struct { pragma.NoUnkeyedLiterals; Flags uint64; Size func(str原创 2020-06-09 11:55:46 · 2450 阅读 · 0 评论 -
sql to go
每次写表对应go的struct都挺让人难受,特别是表字段很多的时候,构建结构让人抓狂然后同事推荐了一个传送门网站 ,大大提高了写代码的效率,效果默认xorn,根据需要修改,更多需求参照http://stming.cn/index...原创 2020-06-09 11:39:19 · 306 阅读 · 0 评论