网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

go语言使用redis(redigo)
2020-06-09 18:50 admin goredisredigo

go的redisclient用的比较多两个包是redix和redigo,因为beegocache模块里redis使用的是redigo,所以我也就使用这个包了。因为代码内容偏多,结构不清晰,不方便阅读,最后整理成一份思维导图,便于学习。当把整体分析,会发现提供给开发者使用的内容非常巧妙。image.png[点击下载](h...
阅读全文

Golang操作MySQL增删改查
2020-06-09 18:50 admin golangmysql

__import("database/sql""fmt"_"github.com/go-sql-driver/mysql")funcmain(){db,err:=sql.Open("mysql","root:0314@tcp(127.0.0.1:3306)/golang_test?charset=utf8")check...
阅读全文

Golang中gorm+gin的简单使用
2020-06-09 18:50 admin golanggormgin

自己做记录,方便查看__packagemainimport("fmt""github.com/gin-gonic/gin"_"github.com/go-sql-driver/mysql""github.com/jinzhu/gorm")typeUserstruct{Idint`json:"id",gorm:"auto...
阅读全文

Golang并发:除了channel,你还有其他选择
2020-06-09 18:50 admin golangchannel

我们都知道Golang并发优选channel,但channel不是万能的,Golang为我们提供了另一种选择:sync。通过这篇文章,你会了解sync包最基础、最常用的方法,至于sync和channel之争留给下一篇文章。提供了基础的异步操作方法,比如互斥锁(Mutex)、单次执行(Once)和等待组(WaitGrou...
阅读全文

Golang并发模型:并发协程的优雅退出
2020-06-09 18:50 admin golang并发

goroutine作为Golang并发的核心,我们不仅要关注它们的创建和管理,当然还要关注如何合理的退出这些协程,不(合理)退出不然可能会造成阻塞、panic、程序行为异常、数据结果不正确等问题。这篇文章介绍,如何合理的退出goroutine,减少软件bug。goroutine在退出方面,不像线程和进程,不能通过某种手...
阅读全文

for-loop 与 json.Unmarshal 性能分析概要
2020-06-09 18:50 admin forloopjsonUnmarshal

原文地址:[for-loop与json.Unmarshal性能分析概要](https://github.com/EDDYCJY/blog/blob/master/golang/2019-02-17-for-loop%E4%B8%8Ejson.Unmarshal%E6%80%A7%E8%83%BD%E5%88%86%E6...
阅读全文

Golang mgo 模糊查询的使用
2020-06-09 18:50 admin golangmgo

在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如:__db.article.find({"title":{$regex:/a/,$options:"im"}})这是我们常用Mongodb的命令行使用的方式,但是在mgo中做出类似的方式视乎是行不通的:__query:=bson.M{"title...
阅读全文

golang中compress/bzip2
2020-06-09 18:50 admin golangcompress

一、bzip2的简介bzip2包实现bzip2的解压缩,bzip2是对单个文件进行压缩,可以先进行tar归档,然后进行压缩。二、bzip2的使用go标准库中提供了一个对bzip2压缩包进行读取的操作,但是并没有提供进行bzip2压缩操作。__packagemainimport("compress/bzip2""os""...
阅读全文

go语言plugin怎么返回对象
2020-06-09 18:50 admin goplugin

`golang`的`plugin`功能用的比较少,官方的示例只有返回函数,而没有返回对象。但是实际应用中`OOP`可以极大提高程序的质量,经过我自己试验,发现`plugin`是可以返回对象的。返回类型我试验的返回对象的类型是空接口,然后用类型断言转换成含有一组约定方法的接口。实例我们首先在主程序中定义一个约定返回接口:...
阅读全文

gof23创建类模式(golang版)
2020-06-09 18:50 admin golanggof

区块链的征程已开启单例模式imageJava中的单例模式的实现可以有饿汉式、懒汉式、双锁、静态内部类、枚举等形式,在go中如何实现单例呢,先来最简单的形式,不考虑高并发的情况下,应该怎样实现__packagemainvarm*SingletontypeSingletonstruct{}funcGetInstance()...
阅读全文

go web使用https
2020-06-09 18:50 admin goweb

如果是在windows下使用,则先,找到Win64OpenSSLv1.1.0j,然后安装。1、生成key文件opensslgenrsa-outserver.key20482、生成crt文件opensslreq-new-x509-sha256-keyserver.key-outserver.crt-days36503、编...
阅读全文

Golang并发模型:select进阶
2020-06-09 18:50 admin golangselect

最近公司工作有点多,Golang的select进阶就这样被拖沓啦,今天坚持把时间挤一挤,把吹的牛皮补上。前一篇文章[《Golang并发模型:轻松入门select》](https://mp.weixin.qq.com/s/ACh-TGlPo72r4e6pbh52vg)介绍了select的作用和它的基本用法,这次介绍它的3...
阅读全文

golang 遍历时元素指针问题
2020-06-09 18:50 admin golang指针

问题>golang执行for遍历时取value的指针时容易出错代码实现__packagemainimport("log""time")typestudentstruct{NamestringAgeint}funcmain(){m:=make([]*student,3)stus:=[]student{student{Na...
阅读全文

Linux下安装Beego:go install: cannot install cross-compiled binaries when GOBIN is set
2020-06-09 18:50 admin linuxinstall

Linux下安装Beego出错问题:goinstall:cannotinstallcross-compiledbinarieswhenGOBINisset遇到这个问题一般是在环境变量中设置了GOBIN可以打开/etc/profile把这个变量注释掉就,执行source/etc/profile生效即可同样安装完成之后需要...
阅读全文

Go 学习之路: 异常处理defer,panic,recover
2020-06-09 18:49 admin godefer

Go没有像Java那样的异常机制,它不能抛出异常。因为设计者们认为,将异常与控制结构混在一起容易使得代码变得混乱。于是乎引入Exception处理:defer,panic,recover;>简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。例子代码:__pac...
阅读全文
顶部 底部