自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunface撩技术

大道至简,技术如歌,欢迎来到Sunface的博客,https://im.dev

  • 博客(8)
  • 收藏
  • 关注

原创 听说,你想让自己的Go程序运行的更快?

到现在为止,我已经忘记了我在写什么,但我确定这篇文章是关于Go语言的。这主要是一篇,关于运行速度,而不是开发速度的文章——这两种速度是有区别的。 我曾经和很多聪明的人一起工作。我们很多人都对性能问题很痴迷,我们之前所做的是尝试逼近能够预期的(性能)的极限。应用引擎有一些非常严格的性能要求,所以我们才会做出改变。自从使用了Go语言之后,我们已经学习到了很多提升性能以及让Go在系统编程中正常运转的方法

2016-04-22 15:07:57 9164 5

原创 让vscode完美支持go vendor的代码跳转(使用vscode必看)

使用vscode作为Go的IDE是一件非常爽的事情。 可是事情总有不完美。现在有很多项目都是用vendor来做第三方包的版本控制,可是godef竟然不支持vendor的代码跳转!!我们想跳转到vendor中的代码,目前是无法做到的。 现在特分享一个自修改的版本,完美支持vendor特性,只要go install后,就可以爽爽的用vscode了。 欢迎大家加入Golang隐修会,群号894864,在

2016-04-16 23:44:21 42815 4

原创 一个简单的例子阐述Go的对象复用思想

本来想写一个例子来给团队的人阐述一下Go中的对象复用思想,写完后发现这种思想也许某些同学还不知道,现分享出来// Go中为了减少海量的内存分配,控制垃圾回收时间,对于热点数据采用池的思想去处理是// 非常棒的,下面的例子就是一个简单的tcp读取缓存池复用// 实现了一个读取tcp长连接的buffer池,每次读取一条新连接时,先去池里读取// 如果不存在,则创建新的// 注意buf在

2016-04-14 17:40:18 11029

原创 Go语言核心之美 4.3-多返回值

在Go语言中,函数可以有多个返回值,这个特性我们已经在之前的例子见过很多,很多标准库函数都会返回两个值,一个是期望得到的函数执行结果,另外一个是函数出错时的错误值。 下面的程序是findlinks的改进版本,它可以自己发起HTTP请求,这样就不必再运行fetch。因为HTTP请求和解析操作都可能会失败,因此findlinks声明了两个返回值:存储链接的列表和错误值。一般而言,HTML的解析器当遇到

2016-04-05 19:29:23 11243

原创 Go语言核心之美 4.2-递归函数

函数是可以递归调用的,这意味着函数可以直接或者间接调用它自身。对于许多问题而言,递归是一种非常有用的技术,例如处理递归的数据结构(树形结构),在3.4节中,我们通过遍历二叉树来实现简单的插入排序,在本节中,将再次用这种技术来处理HTML文件。 下面的示例代码中使用了非标准包golang.org/x/net/html来解析HTML。golang.org/x/...目录下存放了一些由Go语言开发团队设

2016-04-05 18:57:23 6450

原创 Go语言核心之美 4.1-函数声明

函数有以下几个优点:可以让把一系列语句打包成一个程序单元;可以把大的工作分解为小的任务,这些任务可以让不同程序员在不同时间、不同地点独立完成;一个函数可以对用户隐藏实现细节。这些优点,让函数变成了程序不可或缺的最重要的一部分。 在此章之前,我们已经见过很多函数了,现在是时候彻底讨论函数的特性了。本章用的例子是一个网络爬虫,也是web搜索引擎中负责抓取网页的组件,他们会根据抓取到的网页中的链接继续去

2016-04-05 18:11:05 4770

原创 Go语言核心之美 3.6-template模版

上一节的例子中使用了Printf做了输出格式化,当然,对于简单的例子来说足够了,但是我们有时候还是需要复杂的输出格式,甚至需要将格式化代码分离开来。这时,可以使用text/template和html/template。 一个模版就是一个字符串或者一个文件,里面包含了一个或多个{{..}}形式的对象,这种对象被称为模版的actions。除了actions外,模版的其它部分就按字面值打印,但是对于ac

2016-04-05 17:08:23 8846

原创 Go语言核心之美 3.5-JSON

JSON(JavaScript Object Notation)是一种发送和接收结构化信息的标准化表示法。类似的标准化协议还有XML、ASN.1、Protobuf、Thrift等等,这些协议都有自己的鲜明特色,但是由于JSON的简洁、可读、流行性,因此它是应用最广泛的协议之一。 Go语言对上述协议的编码和解码都有很好的支持,例如标准库中的encoding/json、encoding/xml、enc

2016-04-05 13:04:29 8355

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除