概述 Redis是我们日常开发中使用的最常见的一种Nosql,是一个key-value存储系统,但是redis不止支持key-value,还自持很多存储类型包括字符串、链表、集合、有序集合和哈希。在go使用redis中有…
分类:Go
GOPATH 是用来干嘛的?
GOPATH 是 Go 语言的工作目录,他的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区。 我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路径就与 GOPATH…
Go 编程:那些隐晦的操作符
原文发布于个人站点: GitDiG.com, 原文链接: Go 编程:那些隐晦的操作符 本篇作为 Go 编程“边角料”的最后一篇,主要针对 Go 语言提供的操作符进行一次总结。刚好回应上篇一位读者关于表达式是否要加…
golang flag redefined错误
因为之前命令行参数是同过os.Args[1]来获取,感觉不太科学也不美观,所以今天改用flag去获取。 原始代码如下: func GetRuntimePath() string { var spath string fl…
Gorm 源码分析(二) 简单query分析
简单使用 上一篇文章我们已经知道了不使用orm如何调用mysql数据库,这篇文章我们要查看的是Gorm的源码,从最简单的一个查询语句作为切入点。当然Gorm的功能很多支持where条件支持外键group等等功能,这些功能…
go并发编程
Concurrentcy is not parallelism: Different concurrent designs enable different ways to parallelize tip:与defer一…
Go学习之Channel的一些模式
除了在goroutine之间安全的传递数据之外,在看了《Concurrency in Go》之后,感慨channel还有那么多模式可供使用,在个人的学习中总结了以下几种常用的模式 pipeline 概念 我们以爬虫为例,…
C语言调用GO
C语言调用GO 最近工作中遇到需要在c语言里面调用go语言的需求,总结了一下,下面代码里面的每一个注释都很有用,闲话不多说,直接上代码~ 示例 GO代码: package main // 这个文件一定要在main包下面 …
Go WaitGroup 源码分析
概述 go语言sync库中的WaitGroup是用于等待一个协程或者一组携程。使用Add函数增加计数器,使用Done函数减少计数器。当使用Wait函数等待计数器归零之后则唤醒主携程。需要注意的是: Add和Done函数一…
Golang 下载文件
这里使用net/http下载文件,可以设置Content-Type(具体参考)告诉客户端返回的内容类型实际上是什么,实现不同方式的文件的下载。 示例 package main import ( "fmt" "io/iou…
区块链开发者教程大汇总,Php/Python/C#/Node/Go
Mixin Network是一个免费,1秒确认的高速转账网络。我们撰写了基于多种语言的系列教程,开发者可以15分钟搭建一个比特币收款应用。 教程 PHP Go Node.js C# Python 创建机器人接收发送消息 …
Go RWMutex 源码学习
概述 上一篇文章我们看go了互斥锁的具体实现。但是如果业务逻辑是读多写少,如果每次读写都使用互斥锁那么整个效率就会变得很低。其实如果只是读的话并不需要互斥锁来锁住数据。只有写操作的时候需要互斥锁,但是如果有人读那么写操作…