go
文章平均质量分 77
Kiloveyousmile
本人正就读本科
展开
-
go语言学习之gzip包解读
打开浏览器浏览网页时,我们可以看到各种各样的文字、图片、视频等等各式各样的信息。那么浏览器是怎样和服务器交互这些信息的呢?通过分析不难发现,这些信息往往要经过统一编码之后,才进行传递。今天,我们来通过分析gzip过滤器,了解gzip压缩的实现,进而去实现自己编码网页信息。原创 2017-12-05 13:44:56 · 1633 阅读 · 0 评论 -
golang 反射(reflect)
golang 反射(reflect)反射是现代程序必备的元素,用于在 运行时 获取程序元素,如对象等的 元数据,实现动态识别类型及其结构,以及相关的语义信息。反射在程序中应用非常多,例如:动态生成数据:json 序列化/反序列化; orm 映射, proxy 透明代理对象动态调用方法:plugin 实现...转载 2018-05-14 02:14:29 · 1103 阅读 · 0 评论 -
golang defer 使用小结与注意要点
关于延时调用函数(Deferred Function Calls)延时调用函数的语法如下:defer func_name(param-list)当一个函数调用前有关键字 defer 时, 那么这个函数的执行会推迟到包含这个 defer 语句的函数即将返回前才执行. 例如:func main() { defer fmt.Println("Third") ...转载 2018-05-13 13:37:58 · 1721 阅读 · 2 评论 -
Golang错误和异常处理的正确姿势
序言错误和异常是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。 但事实并非如此。众所周知,Golang遵循“少即是多”的设计哲学,追求简洁优雅,就是说如果异常价值不大,就不会将异常加入到语言特性中。错误和异常处理是程序...转载 2018-05-13 13:25:36 · 1009 阅读 · 0 评论 -
Golang-函数式编程(闭包)
github:https://github.com/ZhangzheBJUT/blog/blob/master/closure.md 一 函数式编程概论在过去近十年时间里,面向对象编程大行其道,以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象思想产生之前,函数式...转载 2018-05-13 13:02:41 · 452 阅读 · 0 评论 -
Go的异常处理 defer, panic, recover
Go的异常处理defer, panic, recover 文章转自:http://www.cnblogs.com/ghj1976/archive/2013/02/11/2910114.htmlGo语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用...转载 2018-05-13 12:59:09 · 331 阅读 · 0 评论 -
Go如何按行读取文件及bufio.Split()函数的使用
最近初接触了go这门语言,为了更加深入学习,完成了一个项目。将一个c语言实现的linux读取文件行命令程序修改为go语言实现。这里总结一下golang如何按行读取和按页读取,以及bufio.Split()函数的使用。原创 2017-10-20 03:26:31 · 7380 阅读 · 0 评论 -
golang学习之negroni/gizp源码分析
在 Go 语言里,Negroni 是一个很地道的 Web 中间件,它是一个具备微型、非嵌入式、鼓励使用原生 net/http 库特征的中间件。利用它地Use功能,我们可以很简单地自定义中间件并使用。其中,gzip就是一个很好地例子,它实现了服务器对gzip的响应。原创 2017-12-07 13:23:50 · 697 阅读 · 0 评论 -
golang学习之negroni对于第三方中间件的使用分析
negroni本身是一个中间件,不过它也提供了拓展,以帮助我们更简单地实现自己想要的功能的中间件。那么,我们究竟该如何实现中间件,才能能够封装到negroni中,从而通过negroni来调用呢?可以通过一个简单的例子分析。原创 2017-12-07 13:14:51 · 2163 阅读 · 0 评论 -
golang学习之web服务流程分析
对于golang而言,要搭建一个服务器端十分简单,仅仅只需几十行代码就可以实现。但是,go是如何通过这样简短的代码就完成了服务器端的搭建呢?我们可以通过分析源码了解其中的秘密。原创 2017-12-07 02:50:37 · 558 阅读 · 0 评论 -
golang学习之Interface类型断言
Interface作为go语言中一个重要的组成部分,它的使用简单方便。它的通常和struct一起使用,有点类似C++中的类。今天,我们主要来讨论一下它在类型断言中的用法。原创 2017-12-07 00:03:25 · 4100 阅读 · 0 评论 -
golang获取执行文件目录
代码编译称为可执行文件后,我们可以在不同的文件目录下执行。例如,在windows下假如系统环境变量后,可以在任意目录下执行。但是,大部分程序往往需要加载配置文件,如果在代码中使用了相对路径的话,运行该执行文件时就会报错了。可执行文件默认以运行该程序的目录为工作目录。例如,我们将可执行文件放在:D:/User/go/src/github.com/kangbb/picture-mark它有一个...原创 2019-06-15 23:03:49 · 4723 阅读 · 0 评论