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

Go语言实现ping命令
2020-06-09 18:52 admin goping

ping是使用ICMP协议ICMP协议的组成:Type(8bits)+Code(8bits)+校验码(checksum,8bits)+ID(16bits)+序号(sequence,16bits)+数据这些组成部分的含义:1)TypeICMP的类型,标识生成的错误报文2)Code进一步划分ICMP的类型,该字段用来查找产...
阅读全文

Go uint64转化成[]byte
2020-06-09 18:52 admin gouint

binary.BigEndian.PutUint64(byte切片变量,uint64变量)链接:
阅读全文

CGO编程
2020-06-09 18:52 admin 编程CGO

1)什么是CGO编程?2)CGO语法3)相关资料一、什么是CGO编程?简单说就是GO语言代码中可以编写C代码和调用C代码,在一些偏底层业务中,用C来编写会比较简单,然后GO中来调用二、CGO语法1)简单案例2)GO与C语言类型转换3)GO语言传值到C语言(1)简单案例__packagemain/*#includeint...
阅读全文

GoLang并发控制(上)
2020-06-09 18:52 admin golang并发

GoLang并发控制(上)>>**在go程序中,最被人所熟知的便是并发特性,一方面有goroutine这类二级线程,对这种不处于用户态的go程的支持,另一方面便是对并发编程的简便化,可以快捷稳定的写出支持并发的程序。***先回顾进程or线程之间的通信方式inte-processcommunication(IPC)其中G...
阅读全文

go语言扫描目录
2020-06-09 18:52 admin go扫描

__packagemainimport("io/ioutil""log""os""fmt")funcmain(){files:=scanDir("C:\\")for_,file:=rangefiles{fmt.Println(file)}}//扫描当前目录下文件,不递归扫描funcscanDir(dirNamestri...
阅读全文

go defer,panic,recover详解 go 的异常处理
2020-06-09 18:52 admin godefer

golang中defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try…catch…的角色,而defer本身又像其他语言的析构函数deferdefer后边会接一个函数,但该函数不会立刻被执行,而是等到包含它的程序返回时(包含它的函数执行了return语句、运行到函数结尾自动返回、对...
阅读全文

go validators用法详解 对struct字段进行参数验证
2020-06-09 18:52 admin govalidators

golang小菜一枚,业务中有对接口struct字段进行参数验证的需求,为了练手,自己造了个govalidators验证器的轮子,代码在github,使用的详细方法写到这里,欢迎大大们提出宝贵建议,也希望大家在使用过程遇到问题来这提问在编写golang接口时,需要对接收到的struct字段内容进行验证,比如__type...
阅读全文

【golang】select关键字用法
2020-06-09 18:52 admin golangselect关键字

select是go语言中常用的一个关键字,其用法也一直被用作面试题来考核应聘者。今天,结合代码来分析下select的主要用法。首先,我们来从官方文档看一下有关select的描述:>A"select"statementchooseswhichofasetofpossiblesendorreceive>operations...
阅读全文

Golang的WaitGroup陷阱
2020-06-09 18:52 admin golangWaitGroup

`sync.WaitGroup`是并发环境中,一个相当常用的数据结构,用来等待所有协程的结束,在写代码的时候都是按着例子的样子写的,也没用深究过它的使用。前几日想着能不能在协程中执行`Add()`函数,答案是不能,这里介绍下。陷阱在WaitGroup的3个函数的调用顺序上。先回顾下3个函数的功能:1.`Add(delt...
阅读全文

一个把资源文件变成 go 语言变量的小工具
2020-06-09 18:52 admin go变量

gores项目介绍把一个文件的内容变成一个go语言的变量的小工具。例如把`gtkbuilder`文件、`glade`文件、图标文件变成一个个go变量,编译后的程序运行时就不用再依赖外部资源了。使用说明`gores-namevarName-finputfile-pkgpackageName`__gores-hUsageo...
阅读全文

go程序执行时间统计
2020-06-09 18:52 admin go程序执行

当时候需要去计算一段代码或一个程序所消耗时间的时候,就需要进行统计时间,用程序去计算某一段代码的执行所需要的时间远比用眼睛直接去看程序运行时间高很多。go语言中的time包中提供了函数来提供计算消耗时间,具体的使用方式如下案例所示:__bT:=time.Now()//开始时间eT:=time.Since(bT)//从开...
阅读全文

Go语言 字符串拼接性能优化
2020-06-09 18:52 admin go拼接

今天在查找Go资料的时候,偶然中在点进看云中的《Go入门指南》这本书,简单的看了下书中的内容,然后看到有一节内容是描述“误用字符串”的一个小节,从中了解到go中字符串拼接如果直接用+进行拼接的话,效率会比较低,当在for循环次数比较多的时候比较明显,然后我就测试了。那边书中上提供的是用另外一种方式,在for循环次数比较...
阅读全文

Golang并发模型:轻松入门流水线模型
2020-06-09 18:52 admin golang模型

Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文章,你会更好的使用Golang并发特性,提高你的程序性能。这篇文章主要介绍流水线模型的流水线概念,后面文章介绍流水线模型的FAN-IN和FAN-OUT,最后介绍下如何合理的关闭流水线的协程。Golang...
阅读全文

io/ioutil包
2020-06-09 18:52 admin ioioutil

ioutil包提供给外部使用的一共有1个变量,7个方法。其中变量Discard是io.Write接口类型,调用该变量的Write方法不会做任何事情,并且是以成功的方式返回。它的原型是:varDiscardio.Write=devNull(0)7个方法中有两个函数是直接针对文件读操作和写操作的:(1)ReadFile原型...
阅读全文

go标准库中strconv包
2020-06-09 18:52 admin go库中

这个包实现了基本数据之间进行相互转换。一、常量(1)IntSize原型:constIntSize=intSize其值是int或uint类型的字位数,32位操作系统其值是32,64位系统其值是64二、变量(1)ErrRange原型:varErrRange=errors.New("valueoutofrange")ErrR...
阅读全文
顶部 底部