深入解析Go语言的io.ioutil标准库使用
今天我们讲解的是golang标准库里边的io/ioutil包–也就是package io/ioutil 1.ioutil.ReadDir(dirname string)这个函数的原型是这样的 func ReadDir(dirname s 查看全文
go语言检测文件是否存在的方法
本文实例讲述了go语言检测文件是否存在的方法。分享给大家供大家参考。具体分析如下: go语言检测文件是否存在,首先创建一个FileInfo,如果不报错,再通过 IsDir()检查是否是目录 复制代码 代码如下:finfo, err : 查看全文
golang判断chan channel是否关闭的方法
本文实例讲述了golang判断chan channel是否关闭的方法。分享给大家供大家参考,具体如下: 群里有朋友问,怎么判断chan是否关闭,因为close的channel不会阻塞,并返回类型的nil值,会导致死循环.在这里写个例子 查看全文
Golang slice切片操作之切片的追加、删除、插入等
本文介绍了Golang slice切片操作之切片的追加、删除、插入等,分享给大家,具体如下: 一、一般操作 1,声明变量,go自动初始化为nil,长度:0,地址:0,nil func main(){ var ss []strin 查看全文
golang网络socket粘包问题的解决方法
本文实例讲述了golang网络socket粘包问题的解决方法。分享给大家供大家参考,具体如下: 看到很多人问这个问题, 今天就写了个例子, 希望能帮助大家 首先说一下什么是粘包:百度上比较通俗的说法是指TCP协议中,发送方发送的若干 查看全文
golang使用正则表达式解析网页
废话少说,直接奉上代码: 复制代码 代码如下: package main import ( fmt time io/ioutil net/http regexp strings ) func main() { ip_pool := [ 查看全文
Go语言中Select语句用法实例
本文实例讲述了Go语言中Select语句用法。分享给大家供大家参考。具体分析如下: select 语句使得一个 goroutine 在多个通讯操作上等待。 select 会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分 查看全文
在Golang代码中如何自动生成版本号的方法示例
前言 以前在写C/C++代码时,可以在代码中预定义一些版本宏定义,然后再编译时从外部传入数据作为版本号。 golang代码不支持宏定义,如果每次在代码中硬编码版本信息,一来费时费力,二来很容易忘记更新。 如何更优雅的维护golang 查看全文
浅谈go语言renderer包代码分析
renderer是Go语言的一个简单的、轻量的、快速响应的呈现包,它可以支持JSON、JSONP、XML、HYAML、HTML、File等类型的响应。在开发web应用或RESTFul API的时候,这个包是非常方便的toolkit。 查看全文
golang语言中for循环语句用法实例
本文实例讲述了golang语言中for循环语句用法。分享给大家供大家参考。具体分析如下: for循环是用来遍历数组或数字的。用for循环遍历字符串时,也有 byte 和 rune 两种方式.第一种为byte,第二种rune. 复制代码 查看全文
golang sql连接池的实现方法详解
前言 golang的”database/sql”是操作数据库时常用的包,这个包定义了一些sql操作的接口,具体的实现还需要不同数据库的实现,mysql比较优秀的一个驱动是:go-sql-driver/mysql,在接口、驱动的设计上” 查看全文
使用Go语言实现微信公众平台
这个不是全部的代码哦,只是一个演示可以验证跟接受post传过来的消息并且能返回消息,中间的回复逻辑就待需要各位同志们自己写了哈 复制代码 代码如下: /* *@go语言实现公众平台 */ package main import ( c 查看全文
利用Go语言搭建WebSocket服务端方法示例
Go 搭建一个简单 WebSocket 服务端代码例子 test.go, 如下: 运行服务端: go run test.go 在 Firefox 或 Chrome 控制台,可以用以下代码发起客户端的 WebSocket 连接: 查看全文
Go语言字典(map)用法实例分析【创建,填充,遍历,查找,修改,删除】
本文实例讲述了Go语言字典(map)用法。分享给大家供大家参考,具体如下: 字典是一种内置的数据结构,用来保存 键值对 的 无序集合。 (1)字典的创建 1) make(map[KeyType]ValueType, initial 查看全文
详解golang RWMutex读写互斥锁源码分析
针对Golang 1.9的sync.RWMutex进行分析,与Golang 1.10基本一样除了将panic改为了throw之外其他的都一样。 RWMutex是读写互斥锁。锁可以由任意数量的读取器或单个写入器来保持。 RWMutex 查看全文
用Go写一个轻量级的ssh批量操作工具的方法
前言 这是一个轮子。 大家都知道Ansible 是功能超级强大的自动化运维工具,十分的高大上。太高大上了以至于在低端运维有点水土不服,在于三点: Ansible 是基于 Python 的,而 Python 下的安装是有一堆依赖的 查看全文
在Visual Studio Code中配置GO开发环境的详细教程
一、GO语言安装 详情查看:GO语言下载、安装、配置 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为: 这款插件的特性包括: Colorization 代码 查看全文
GO语言延迟函数defer用法分析
本文实例讲述了GO语言延迟函数defer用法。分享给大家供大家参考。具体分析如下: defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer,一般用于异常处理、释放 查看全文
Golang排列组合算法问题之全排列实现方法
本文实例讲述了Golang排列组合算法问题之全排列实现方法。分享给大家供大家参考,具体如下: 【排列组合问题】 一共N辆火车(0<N<10),每辆火车以数字1-9编号,要求以字典序排序输出火车出站的序列号。 输入: 查看全文
go语言文件正则表达式搜索功能示例
本文实例讲述了go语言文件正则表达式搜索功能。分享给大家供大家参考,具体如下: 复制代码 代码如下:package main import ( fmt os path/filepath regexp ) func main() { // 查看全文
Go语言中三种不同md5计算方式的性能比较
前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上。下面来一起看看吧。 ReadFile 先看第一种, 简单粗暴: func md5sum1 查看全文
Go语言中反射的正确使用
介绍 反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型。 反射有两个问题,在使用前需要三思: 大量的使用反射会损失一定性能 Clear is 查看全文