三年编程经验,热爱技术,专注GO语言相关技术,喜欢研究算法实现
golang中一个interface类型潜在问题
go gomemcache包源码分析
golang标准库gob编码
golang标准库、golang中的bytes包、bytes
golang使用archive/zip包、golang进行zip操作
golang、archive/tar
go语言使用代理ip
Weekly Contest 107 AC思路
go web压测工具实现
1)什么是CGO编程? 2)CGO语法 3)相关资料 一、什么是CGO编程? 简单说就是GO语言代码中可以编写C代码和调用C代码,在一些偏底层业务中,用C来编写会比较简单,然后GO中来调用 二、CGO语法 1)简单案例 2)GO与C语言类型转换 3)G...
package main import ( "io/ioutil" "log" "os" "fmt" ) func main() { files := scanDir("C:\\") for _, file := range files { fmt.
短URL介绍链接: 1)https://segmentfault.com/a/1190000012088345 2)http://www.voidcn.com/article/p-ydjqllgt-ed.
连接的失败报错:RabbitMQ Exception (403) Reason: "no access to this vhost" 因为没有配置该用户的访问权限,可以通过 rabbitmqctl add_vhost admin 来添加,并赋予权限: rabbitmqctl set_permissions -p 用户名 admin ".
在windows下安装了n次,换了另一台windows server试了好几次都是在最后一步没办法打开web管理页面,不知道是什么原因。。。然后就换成ubuntu16.04的系统安装,然后终于可以用了。
ping是使用ICMP协议 ICMP协议的组成:Type(8bits) + Code(8bits) + 校验码(checksum,8bits) + ID(16bits) + 序号(sequence,16bits) + 数据 这些组成部分的含义: 1)Type ICMP的类型,标识生成的错误报文 2)Code 进一步划分ICMP的类型,该字段用来查找产生的原因;例如,ICMP的目标不可达类型可以把这个位设为1至15等来表示不同的意思。
参考博客:https://blog.csdn.net/aaron133/article/details/78508211
原文链接:https://www.cnblogs.com/qingkongwuyun/p/8508733.html
binary.BigEndian.PutUint64(byte切片变量, uint64变量) 链接:https://blog.csdn.net/coledaddy/article/details/71195528 ...
原生的map在没有加锁的情况下用于协程是数据不安全,并且因为不安全,在编译的时候编译器也会报错。 如果要在多个协程中使用同一个map变量,则需要自己进行加解锁操作。
在学习中了解到defer相比没有使用defer会消耗部分时间,所以测试了下,使用与不使用defer的性能测试,通过实验,defer影响程序的速度基本可以忽略不计。
链接:https://blog.csdn.net/skh2015java/article/details/80712214 go连接使用etcd:https://www.
记录redis的安装过程,方便自己以后使用,不需要再重复找资料 redis安装:https://blog.csdn.net/Q__one/article/details/76427644 如何远程连接redis:https://jingyan.
sync包有以下几个内容: (1)sync.Pool 临时对象池 (2)sync.Mutex 互斥锁 (3)sync.RWMutex 读写互斥锁 (4)sync.WaitGroup 组等待 (5)sync.Cond 条件等待 (6)sync.Once 单次执行 一、临时对象池 Pool可以用来存储临时对象,其实原理就是这个对象池指向对象变量,以防没有变量指向对象时,被GC所回收。
go语言的指针类型分为三种: (1)普通指针类型:*类型,用于存储地址,不能进行指针运算 (2)通用指针类型:用于转换不同类型的指针,不能进行指针运算 (3)uintptr:用于指针运算,GC不把uintptr当指针,uintptr无法持有对象。
// 编码所需的基本数字 const ( RuneError = '\uFFFD' // 错误的Rune或Unicode代理字符 RuneSelf = 0x80 // ASC...
秒杀活动是高并发中常见的一种场景,核心要关注的就是: (1)大量用户同时请求,导致接口处理占有大量的CPU和内存资源 (2)大量用户同时进行http请求,占有tcp连接,导致的内存消耗 (3)要保证数据的一致性 package main import...
这个包实现了基本数据之间进行相互转换。 一、常量 (1)IntSize 原型:const IntSize = intSize 其值是int或uint类型的字位数,32位操作系统其值是32,64位系统其值是64 二、变量 (1)ErrRange 原型:var ErrRange = errors.New("value out of range") ErrRange表示超出目标类型表示范围。
ioutil包提供给外部使用的一共有1个变量,7个方法。 其中变量Discard是io.Write接口类型,调用该变量的Write方法不会做任何事情,并且是以成功的方式返回。
今天在查找Go资料的时候,偶然中在点进看云中的《Go入门指南》这本书,简单的看了下书中的内容,然后看到有一节内容是描述 “误用字符串”的一个小节,从中了解到go中字符串拼接如果直接用 + 进行拼接的话,效率会比较低,当在for循环次数比较多的时候比较明显,然后我就测试了。
当时候需要去计算一段代码或一个程序所消耗时间的时候,就需要进行统计时间,用程序去计算某一段代码的执行所需要的时间远比用眼睛直接去看程序运行时间高很多。 go语言中的time包中提供了函数来提供计算消耗时间,具体的使用方式如下案例所示: bT := time.
php高性能后端框架——swoole,带协程 alex,轻量级多线程下载工具 wget 命令下载工具 NATAPP 免费的内网穿透
``` package main import "fmt" /* 栈结构*/ type Stackstruct { val []interface{} length uint32 } /* 构造一个空栈*/ func (S *Stack) InitStack() { S.
``` package main /* 双向链表结构体*/ type DuLNodestruct{ valinterface{} prefix *DuLNode// 前一个节点 rear *DuLNode// 后一个节点 } /* 初始化双向链表*/ func (L *DuLNode) IninDul() { L.
``` package main import "fmt" type LinkedListstruct { l *slist length uint32 } // 单向列表 type sliststruct { valinterface{} next ...
``` package main import "fmt" //(1) 线性表结构,使用go切片 type Liststruct { val []interface{} // 可存放不同类型的值 length uint32 ...