最新 | 最热门 | 最高评价

+0  [译]Go文件操作大全

Tag: Go
鸟窝 发于 2016年10月13日 09:50 | 点击: 610 | 展开摘要
Go官方库的文件操作分散在多个包中,比如os、ioutil包,我本来想写一篇总结性的Go文件操作的文章,却发现已经有人2015年已经写了一篇这样的文章,写的非常好,所以我翻译成了中文,强烈推荐你阅读一下。

原文: Working with Files in Go, 作者: NanoDano

介绍

万物皆文件

UNIX 的一个基础设计就是"万物皆文件"(everything is a file)。我们不必知道一个文件到底映射成什么,操作系统的设备驱动

查看全文: http://www.udpwork.com/item/15872.html

+0  Go 模板嵌套最佳实践

Tag: Go
鸟窝 发于 2016年10月09日 14:47 | 点击: 464 | 展开摘要
Go 官方库提供了两个模板库: text/template 和 html/template。这两个库类似,只不过 html/template对html格式做了特别的处理,当需要输出html格式的代码时需要使用html/template。

使用模版,可以帮助我们写一些通用的代码,或者提供清晰的文件布局, 或者提供一个代码生成器。

官方文档提供了很好的模版的使用方法, 其中 text/template提供了基础的模版的使用方法,比如 Action、 Argument、Pipe

查看全文: http://www.udpwork.com/item/15865.html

+0  Go官方库RPC开发指南

Tag: Go
鸟窝 发于 2016年09月18日 13:52 | 点击: 491 | 展开摘要
Go官方提供了一个RPC库: net/rpc。包rpc提供了通过网络访问一个对象的方法的能力。服务器需要注册对象, 通过对象的类型名暴露这个服务。注册后这个对象的输出方法就可以远程调用,这个库封装了底层传输的细节,包括序列化。服务器可以注册多个不同类型的对象,但是注册相同类型的多个对象的时候回出错。

我最近写了一本电子书: Go RPC开发指南,介绍Go RPC开发的相关技术,这是其中的一章,专门介绍官方库 net/rpc的使用。

同时,如果对象的方法要能远程访问,它们必

查看全文: http://www.udpwork.com/item/15831.html

+0  每逢九月九,想念毛主席!

Tag: First Category
s5s5 发于 2016年09月09日 09:47 | 点击: 434 | 展开摘要
【缅怀伟人!40年前的今天,毛主席逝世】

从群众中来,到群众中去;

世界是你们的,也是我们的,但是归根结底是你们的;

没有调查就没有发言权;

务必使同志们继续地保持谦虚、谨慎、不骄、不躁的作风,务必使同志们继续地保持艰苦奋斗的作风。

40年前的今天,毛主席逝世。重温,缅怀!

查看全文: http://www.udpwork.com/item/15786.html

+0  Go语言中的io.Reader和io.Writer以及它们的实现

Tag: Go
鸟窝 发于 2016年08月29日 17:04 | 点击: 499 | 展开摘要
在使用Go语言的过程中,无论你是实现web应用程序,还是控制台输入输出,又或者是网络操作,不可避免的会遇到IO操作,使用到io.Reader和io.Writer接口。也也许对这两个接口和相关的一些接口很熟悉了,但是你脑海里确很难形成一个对io接口的继承关系整天的概貌,原因在于godoc缺省并没有像javadoc一样显示官方库继承关系,这导致了我们对io接口的继承关系记忆不深,在使用的时候还经常需要翻文档加深记忆。本文试图梳理清楚Go io接口的继承关系,提供一个io接口的全貌

查看全文: http://www.udpwork.com/item/15769.html

+0  [译]Go net/http 超时机制完全手册

Tag: Go
鸟窝 发于 2016年07月25日 09:22 | 点击: 1714 | 展开摘要
英文原始出处: The complete guide to Go net/http timeouts, 作者: Filippo Valsorda

当用Go写HTTP的服务器和客户端的时候,超时处理总是最易犯错和最微妙的地方之一。错误可能来自很多地方,一个错误可能等待很长时间没有结果,直到网络故障或者进程挂起。

HTTP是一个复杂的、多阶段(multi-stage)协议,所以没有一个放之四海而皆准的超时解决方案,比如一个流服务、一个JSON API和一个Comet服务对超时

查看全文: http://www.udpwork.com/item/15628.html

+0  深入Go语言 - 8

Tag: Go
鸟窝 发于 2016年07月25日 09:15 | 点击: 797 | 展开摘要
本章介绍 go语句、goroutine调度。

go 语句

go语句用来产生一个新的goroutine,并执行一个函数,它的使用非常简单,就是在函数调用或者方法调用的前面加上go关键字即可。

函数可以是已有函数、匿名函数、方法等,注意匿名方法(方法字面量)不要忘记调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

func foo(i int) int {
return i * i
}

……

go foo(10)
go func()

查看全文: http://www.udpwork.com/item/15620.html

+0  高性能的消息框架 go-disruptor

Tag: disruptor | Go
鸟窝 发于 2016年07月22日 17:42 | 点击: 499 | 展开摘要
Java程序员都知道,Disruptor是一个高性能的线程间通信的框架,即在同一个JVM进程中的多线程间消息传递,由LMAX开发。

Disruptor性能是如此之高,LMAX利用它可以处理每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。那么Go语言生态圈中有没有这样的库呢?

go-disruptor就是对Java Disruptor的移植,它也提供了与Java Disruptor类似的API设计,使用起来也算不上麻烦。

至于性能呢,下面就会介绍,这也是本文的重点。

查看全文: http://www.udpwork.com/item/15692.html

+0  如何识别图像边缘?

Tag: Algorithm
阮一峰 发于 2016年07月22日 07:39 | 点击: 597 | 展开摘要
图像识别(image recognition)是现在的热门技术。

文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一种地步:计算机可以识别出,这是一张狗的照片,那是一张猫的照片。

这是怎么做到的?

让我们从人眼说起,学者发现,人的视觉细胞对物体的边缘特别敏感。也就是说,我们先看到物体的轮廓,然后才判断这到底是什么东西。

计算机科学家受到启发,第一步也是先识别图像的边缘。

加州大学的学生 Adit Deshpande 写了一

查看全文: http://www.udpwork.com/item/15689.html

+0  深入Go语言 - 3

Tag: Go
鸟窝 发于 2016年07月21日 09:53 | 点击: 854 | 展开摘要
本文介绍Go的类型系统,以及类型的比较和语句块。

Go语言包含11种类型,你应该很熟悉了,下面让我们再深入的了解一下每种类型的细节。

布尔类型

数值类型

字符串类型

数组类型

Slice类型

Struct类型

指针类型

函数类型

接口类型

Map类型

Channel类型

bool、数值型类型、rune、字符串都是预定义的类型:

1
2
3

bool byte complex64 complex128 error float32 float64
i

查看全文: http://www.udpwork.com/item/15575.html

+0  深入Go语言 - 13

Tag: Go
鸟窝 发于 2016年07月11日 14:46 | 点击: 443 | 展开摘要
本章重点介绍Go语言中的反射。
包reflect可以实现运行时的反射,允许程序操纵对象的值和类型。
典型地,你可以获取 interface{}的动态类型以及的它的值和方法。

Go是静态类型的语言,每一个对象在声明和初始化的时候都已经有一个确定值,即使是声明为接口类型的变量,它的静态类型也已经确定,即使任何包含这个接口方法集的类型的对象都可以赋值给它。

我们可以在运行时获取对象的动态类型和值。

类型Type和值Value是我们使用发射库的主要用的两个概念。

Type

查看全文: http://www.udpwork.com/item/15666.html

+0  深入Go语言 - 12

Tag: Go
鸟窝 发于 2016年07月09日 16:20 | 点击: 414 | 展开摘要
本章介绍Go语言的代码的测试、性能测试以及示例的写法。

测试

虽然也有一些第三方的基于某种概念开发的测试库,但是我觉得最好用还是官方的测试库: testing。

常规地,我们会把测试代码的文件和正式的代码文件放在同一个文件夹下,但是包含测试代码的文件应该以"_test.go"结尾。

测试文件的包名可以和正式文件的包名相同,也可以不同。比如正式的报名为abc,测试的报名就可以是abc_test,但是不能是其它的,比如xyz。
这两种风格官方库中都有。

查看全文: http://www.udpwork.com/item/15658.html
|<<<3456789>>>| 一共50页, 597条记录