关于golang中平行赋值浅析

对于golang, 交换两个数很简单,如下这么写就可以了:i, j = j, i等号左边和右边含有多个表达式,这就是平行赋值。 赋值分为两个步骤: 计算等号左边的操作数的索引表达式和取址表...

Go语言利用time.After实现超时控制的方法详解

前言在开始之前,对time.After使用有疑问的朋友们可以看看这篇文章:https://www.jb51.net/article/146063.htm我们在Golang网络编程中,经常要遇到设置超时的需求,本文就来给大家...

Golang中time.After的使用理解与释放问题

Golang中的time.After的使用理解关于在goroutine中使用time.After的理解, 新手在学习过程中的“此时此刻”的理解,错误还请指正。
先线上代码:package mainimport ( "fmt" "tim...

golang中为什么Response.Body需要被关闭详解

前言本文主要介绍了关于golang中Response.Body需要被关闭的相关内容,文中通过示例代码介绍的非常详细,对各位学习或者使用golang具有一定参考学习价值,下面话不多说了,来一起看...

特殊字符的json序列化总结大全

前言JSon 数据中的String 传递数据时,需要处理好特殊字符.本文主要给大家总结介绍了关于golang、rust、java和Python对特殊字符的json序列化处理操作,下面话不多说了,来一起看...

Go语言的http/2服务器功能及客户端使用

前言大家都知道,Go的标准库HTTP服务器默认支持HTTP/2。那么,在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用。在这篇文章中,我们将首先展示Go...

使用golang获取linux上文件的访问/创建/修改时间

在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat。在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少。这是os.Stat的原型:func Sta...

golang 40行代码实现通用协程池

代码仓库goroutine-poolgolang的协程管理golang协程机制很方便的解决了并发编程的问题,但是协程并不是没有开销的,所以也需要适当限制一下数量。不使用协程池的代码(示例代码...

golang中使用mongo的方法介绍

前言笔者使用的mongo驱动是mgo, 这个使用的人比较多,文档也比较齐全官网地址:http://labix.org/mgo
文档地址:https://godoc.org/labix.org/v2/mgo
源码地址:https://github.com...

Golang报“import cycle not allowed”错误的2种解决方法

前言相信不少 Gopher 在写 Golang 程序都遇到过 import cycle not allowed 问题,本人最近研读 go-ethereum 源码时,发现定义 interface 也能解决此问题, 还能解决连分包都不能...

golang中import cycle not allowed解决的一种思路

发现问题项目中碰到了一些问题,使用了指针函数的思路来解决相应问题
在实际项目中,因为两个项目互相引了对方的一些方法,导致了循环引用的错误,原本可以使用http的请求来解决,经...

Golang学习之平滑重启

在上一篇博客介绍TOML配置的时候,讲到了通过信号通知重载配置。我们在这一篇中介绍下如何的平滑重启server。与重载配置相同的是我们也需要通过信号来通知server重启,但关键在...

详解Golang实现http重定向https的方式

以前写代码时,都是直接将程序绑定到唯一端口提供http/https服务,在外层通过反向代理(nginx/caddy)来实现http和https的切换。随着上线后的服务越来越多,有一些服务无法直接通过...

浅谈Go Channel 高级实践

channel 是 golang 里相当有趣的一个功能,在我使用 golang 编码的经验里,大部分事件都会是在享受 channel 和 goroutine 配合的乐趣。所以本文主要介绍 channel 的一些有趣的...

golang sql连接池的实现方法详解

前言golang的”database/sql”是操作数据库时常用的包,这个包定义了一些sql操作的接口,具体的实现还需要不同数据库的实现,mysql比较优秀的一个驱动是:github.com/go-sql-driver...

详解Go hash算法的支持

散列函数(散列算法,又称哈希函数)是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱...

golang编程入门之http请求天气实例

golang学习第一波,使用http get请求高德天气接口。一、准备内容:
1、注册高德开发者账号,申请key
2、golang开发工具LiteIDE(可自行百度)。
或者https://www.jb51.net/softjc/11...

浅析Go语言版本的forgery

使用过Python语言的朋友们可能使用过 forgery_py ,它是一个伪造数据的工具。能伪造一些常用的数据。在我们开发过程和效果展示是十分有用。但是没有Go语言版本的,所以就动手折...

golang新手们容易犯的3个错误总结

前言从golang小白到成为golang工程师快两个月了,我要分享一下新手在开发中常犯的错误,都是我亲自踩过的坑。这些错误中有些会导致无法通过编译,这种错容易发现,而有些错误在编译...

golang如何自定义json序列化应用详解

前言Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好。下面这篇文章主要介绍了关于golang自定义json序列化应用的相关内容,下面话不多说了,来一...

详解如何热重启golang服务器

服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。
而另一种更方便的方法是在应用上做热重启...

浅谈Go Slice 高级实践

Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固...

Golang中匿名组合实现伪继承的方法

"Go语言的面向对象机制与一般语言不同。 它没有类层次结构, 甚至可以说没有类; 仅仅通过组合( 而不是继承) 简单的对象来构建复杂的对象。" -- 《Go语言圣经》
1.匿名组合
1.1...

利用golang进行OpenCV学习和开发的步骤

前言
记得开始使用 OpenCV 的时候是在大学时期,当时用的是 C 语言,OpenCV 版本好像是1.1,随着时间的推移,后面 C++逐渐代替了 C,iOS 也有整合好的 lib 可以使用 OpenCV,现在Python...

Go秒爬博客园100页新闻

利用go语言的协程并发优势爬取网页速度相当之快,博客园100页新闻标题只需一秒即可全部爬取package mainimport ( "bytes" "fmt" "github.com/PuerkitoBio/goquery" "log" "ne...

返回顶部
顶部