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

golang atomic包的使用
2020-06-10 03:01 admin golangatomic

go语言提供的原子操作都是非侵入式的,它们由标准库代码包sync/atomic中的众多函数代表。__我们调用sync/atomic中的几个函数可以对几种简单的类型进行原子操作。这些类型包括int32,int64,uint32,uint64,uintptr,unsafe.Pointer,共6个。这些函数的原子操作共有5种...
阅读全文

golang 方法作为参数传递
2020-06-10 03:00 admin golang参数传递

栗子:__import"fmt"import"time"funcgoFunc1(ffunc()){gof()}funcgoFunc2(ffunc(interface{}),iinterface{}){gof(i)}funcgoFunc(finterface{},args...interface{}){iflen(arg...
阅读全文

golang 创建DB连接池
2020-06-10 03:00 admin golangDB

使用通道__import("database/sql"_"github.com/go-sql-driver/mysql""log""time""math/rand")//连接池大小varMAX_POOL_SIZE=20vardbPollchan*sql.DBconst(user="root"pass="root"db=...
阅读全文

golang一般常用数据类型转换总结
2020-06-10 03:00 admin golang类型转换

在编程中经常会碰到一些数据类型转换问题,每次都要搜索查询好久,今天直接自己整理一下stringstring到int(Atoi)__int,err:=strconv.Atoi(string)string到int(ParseInt)//ParseInt将字符串转换为int类型//s:要转换的字符串//base:进位制(2进...
阅读全文

golang继承与接口
2020-06-10 03:00 admin golang接口

继承结构体Go语言的结构体(struct)和其他语言的类(class)有同等的地位,但Go语言放弃了包括继承在内的大量面向对象特性,只保留了组合(composition)这个最基础的特性。组合甚至不能算面向对象特性,因为在C语言这样的过程式编程语言中,也有结构体,也有组合。组合只是形成复合类型的基础。__typeRec...
阅读全文

golang 高并发数据库库存同步处理
2020-06-10 03:00 admin golang并发

方法一(对数据库的读写操作加锁)一(DAO层加行锁:读写锁)__packagemainimport("sync")//1、多个读之间不存在互斥关系//2、写操作之间都是互斥的,并且写操作与读操作之间也都是互斥的typeidMutexmap[string]*sync.RWMutexvarmyIdMutexidMutexf...
阅读全文

golang 生成RSA公钥和私钥文件
2020-06-10 03:00 admin golangRSA

__import("crypto/rand""crypto/rsa""crypto/x509""encoding/pem""os")funcmain(){//rsa密钥文件产生GenRsaKey(1024)}//RSA公钥私钥产生funcGenRsaKey(bitsint)error{//生成私钥文件privateKe...
阅读全文

golang MD5实现
2020-06-10 03:00 admin golangMD

packagemainimport("crypto/md5""fmt""io")funcmain(){str:="123456"fmt.Print(Md5one(str))fmt.Print("------------")fmt.Print(Md5two(str))}funcMd5one(strstring)(md5s...
阅读全文

Golang unsafe包使用
2020-06-10 02:59 admin golangunsafe

unsafe包提供了访问底层内存的方法。是用unsafe函数可以提高访问对象的速度。通常用于对大数组的遍历。unsafe内容介绍__funcAlignof(xArbitraryType)uintptrfuncOffsetof(xArbitraryType)uintptrfuncSizeof(xArbitraryType...
阅读全文

golang读取外部命令的屏幕输出
2020-06-10 02:58 admin golang外部命令

golang调用外部程序,如何读取外部程序的stdout/stderr输出:例子1读取标准输出__$catmain.gopackagemainimport("fmt""os/exec")funcmain(){cmd:=exec.Command("bash","test.sh")out,err:=cmd.Output()...
阅读全文

golang实现微信聊天机器人
2020-06-10 02:57 admin golang微信

主要模块*获取UUID*根据UUID获取二维码*显示二维码*扫码登陆*初始化微信信息*打开状态同步通知*获取通讯录*发送信息*同步信息*获取自动回复内容源码地址网页版微信API获取UUID*接口地址`https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb...
阅读全文

golang进度条
2020-06-10 02:57 admin golang进度条

进度条元素[X]总量[X]当前进度[X]耗时通过以上元素可以延伸出:完成百分比、速度、预计剩余时间、根据设置速度快慢阈值用不同的颜色来显示进度条。实现进度条__typeBarstruct{musync.Mutexlineint//显示在哪行多进度条的时候用prefixstring//进度条前置描述totalint//总...
阅读全文

理解 goroutine
2020-06-10 02:56 admin golangTips

【编者的话】虽然已经有很多解释goroutine的优秀文章,但是对于初学者来说,大多都比较晦涩难懂,在这里总结一下自己对goroutine的理解以及相关资料Goroutine***Goroutines既不是OS线程,也并非*Goroutines是更高层次的抽象*Goroutine是并发的子程序(函数、闭包、方法),它们...
阅读全文

golang pprof 性能分析工具
2020-06-10 02:56 admin golangpprof

性能优化是个永恒的话题,而很多时候我们在作性能优化的时候,往往基于代码上面的直觉,把所有能想到的优化都优化了一遍,不错过任何小的优化点,结果整个代码的逻辑变得极其复杂,而性能上面并没有太大的提升。事实上,性能问题往往集中在某些小点,有时候很小的改动就能有巨大的提升,所以问题的关键是是怎么去找出这些优化点,幸运的是gol...
阅读全文

golang 模拟defer准确的释放一个对象中的大量资源(更新:20180418)
2020-06-10 02:56 admin golangdefer

golang模拟defer准确的释放一个对象中的大量资源_更新记录:_2018-4-19:重写destroyer.RunDefer,用reflect包实现任意返回类型函数的调用_正文_golang中的defer关键字可以帮助程序员准确的释放资源,但是仅限于一个函数中。如果一个全局对象中存储了大量需要手动释放的资源,那么...
阅读全文
顶部 底部