From cdd836d0cc13603fdf8c3d8922252000949dc3ce Mon Sep 17 00:00:00 2001 From: chenwenli Date: Sun, 28 Oct 2012 09:06:50 +0800 Subject: [PATCH 01/15] update from astaxie --- genepub.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 genepub.sh diff --git a/genepub.sh b/genepub.sh old mode 100755 new mode 100644 From 3af17e4f0a7d6eb63d17c53c5cfa01a602c655e4 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Sun, 28 Oct 2012 23:23:35 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=9B=B8?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=92=8C?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.3.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/10.3.md b/10.3.md index 0f9d8a70..663453df 100644 --- a/10.3.md +++ b/10.3.md @@ -1,29 +1,42 @@ # 10.3 国际化站点 前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。 - ## 管理多个本地包 在我们开发一个应用的时候,首先我们应该知道这个Web应用要支持多少个语言,例如首先这个Web应用需要支持中文和英文,也许以后会支持其他语言,但是结构已经有了,所以扩展非常容易。那么我们设计如下:Locale文件夹在config/locales下,假设你要支持中文和英语,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示: # zh.json - zh: - submit: '提交' - create: '创建' + { + "zh": { + "submit": "提交", + "create": "创建" + } + } #en.json - en: - submit: 'Submit' - create: 'Create' + { + "en": { + "submit": "Submit", + "create": "Create" + } + } 然后调用go-i18n包里面注册一下这个目录,这样Go会加载config/locales目录下的locale文件: Tr:=i18n.NewLocale() Tr.LoadPath("config/locales") +使用很简单,你可以通过下面的方式进行测试: + + fmt.Println(Tr.Translate("submit")) + //输出Submit + Tr.SetLocale("zn") + fmt.Println(Tr.Translate("submit")) + //输出“递交” ## 自动加载本地包 + ## template mapfunc 1. 文本信息 From 6556ed2098bee71d45cbb37552947705d0560698 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Sun, 28 Oct 2012 23:46:39 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E6=98=8E=E5=A4=A9=E7=BB=A7=E7=BB=AD?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E5=B0=8F=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.3.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/10.3.md b/10.3.md index 663453df..0f55813f 100644 --- a/10.3.md +++ b/10.3.md @@ -35,6 +35,9 @@ //输出“递交” ## 自动加载本地包 +上面我们介绍了多个自定义语言包的自动加载,那么在我们加载的同时,其实go-i18n库会自动帮你加载一些定义的格式信息,例如时间格式、货币格式。请看下面的处理过程 + + ## template mapfunc From 8ccba08e3f87b079579d3d891f8aa1ccf729a450 Mon Sep 17 00:00:00 2001 From: Wenlei Date: Mon, 29 Oct 2012 00:09:05 +0800 Subject: [PATCH 04/15] fix an error caused by 16 band mis-read MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @士豆口 对此亦有贡献 --- images/2.2.makenew.png | Bin 139295 -> 144658 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/2.2.makenew.png b/images/2.2.makenew.png index 11a9baa3092e46a8d4ecc0e7594d5b9c38942160..00f74179f335f675011e035eb9d1506e6d91ed84 100644 GIT binary patch literal 144658 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

6Xm{HL?xF^N9s1qg%X|~q+ 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 Dj9+}1 literal 139295 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 Date: Mon, 29 Oct 2012 17:18:06 +0800 Subject: [PATCH 05/15] update 2.2md,2.3md,fixed 8.1md code error --- 2.2.md | 74 ++++++++++++++++++++++++++++++---------------------------- 2.3.md | 22 ++++++++--------- 8.1.md | 2 +- 3 files changed, 50 insertions(+), 48 deletions(-) diff --git a/2.2.md b/2.2.md index d82c9405..3f074e16 100644 --- a/2.2.md +++ b/2.2.md @@ -1,12 +1,12 @@ #2.2 Go基础 -这小节我们将要介绍如何定义变量、常量、Go内置类型以及一些Go程序设计中的技巧。 +这小节我们将要介绍如何定义变量、常量、Go内置类型以及Go程序设计中的一些技巧。 ##定义变量 Go语言里面定义变量有多种方式。 -使用`var`关键字定义变量是最基本的,与C语言定义变量不同的是,Go语言变量名在变量类型前面: +使用`var`关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面: //定义一个名称为“variableName”,类型为"type"的变量 var variableName type @@ -29,7 +29,7 @@ Go语言里面定义变量有多种方式。 */ var vname1, vname2, vname3 type= v1, v2, v3 -你是不是觉得上面这样的定义有点复杂?没关系,因为Go语言的设计者也发现了,我们来让它变得简单一点。我们可以直接忽略类型声明,那么上面的东西变成这样了: +你是不是觉得上面这样的定义有点繁琐?没关系,因为Go语言的设计者也发现了,有一种写法可以让它变得简单一点。我们可以直接忽略类型声明,那么上面的代码变成这样了: /* 定义三个变量,它们分别初始化相应的值 @@ -38,7 +38,7 @@ Go语言里面定义变量有多种方式。 */ var vname1, vname2, vname3 = v1, v2, v3 -你还是觉得上面的有些复杂?好吧,我觉得也是。让我们继续简化: +你觉得上面的还是有些繁琐?好吧,我也觉得。让我们继续简化: /* 定义三个变量,它们分别初始化相应的值 @@ -47,7 +47,7 @@ Go语言里面定义变量有多种方式。 */ vname1, vname2, vname3 := v1, v2, v3 -现在是不是看上去非常的简单了?`:=`这个符号直接取代了`var`和`type`,这样的代码是不是很简洁?这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,比如说用它来定义全局变量。 +现在是不是看上去非常简洁了?`:=`这个符号直接取代了`var`和`type`,这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用`var`方式来定义全局变量。 `_`(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。在这个例子中,我们将值`35`赋予`b`,并同时丢弃`34`: @@ -63,29 +63,27 @@ Go对于已声明但未使用的变量会在编译阶段报错,比如下面的 ##常量 -所谓常量,也就是在编译阶段就确定下来的值,而程序在运行时则无法改变该值。在Go程序中,常量可定义为数值、布尔值或字符串等类型。 +所谓常量,也就是在程序编译阶段就确定下来的值,而程序在运行时则无法改变该值。在Go程序中,常量可定义为数值、布尔值或字符串等类型。 它的语法如下: const constantName = value + //如果需要,也可以明确指定常量的类型: + const Pi float32 = 3.1415926 下面是一些常量声明的例子: const Pi = 3.1415926 const i = 10000 const MaxThread = 10 - const prefix = 'astaxie_' - -当然如果需要,也可以明确指定常量的类型: - - const Pi float32 = 3.1415926 + const prefix = "astaxie_" ##内置基础类型 ###Boolean -在Go中,布尔值的类型为`bool`,可用的值是`true`或`false`,默认为`false`。 +在Go中,布尔值的类型为`bool`,值是`true`或`false`,默认为`false`。 //示例代码 var isActive bool // 全局变量声明 @@ -99,30 +97,30 @@ Go对于已声明但未使用的变量会在编译阶段报错,比如下面的 ###数值类型 -整数类型有无符号和带符号两种。Go同时支持`int`和`uint`,这两种类型的长度相同,但具体长度取决于编译器的实现。当前的gc和gccgo编译器在32位和64位平台上都使用32位来表示`int`和`uint`,但未来在64位平台上可能增加到64位。Go里面也有直接定义好位数的类型:`rune`, `int8`, `int16`, `int32`, `int64`和`byte`, `uint8`, `uint16`, `uint32`, `uint64`。`rune`是`int32`的别称,`byte`是`uint8`的别称。 +整数类型有无符号和带符号两种。Go同时支持`int`和`uint`,这两种类型的长度相同,但具体长度取决于不同编译器的实现。当前的gcc和gccgo编译器在32位和64位平台上都使用32位来表示`int`和`uint`,但未来在64位平台上可能增加到64位。Go里面也有直接定义好位数的类型:`rune`, `int8`, `int16`, `int32`, `int64`和`byte`, `uint8`, `uint16`, `uint32`, `uint64`。其中`rune`是`int32`的别称,`byte`是`uint8`的别称。 >需要注意的一点是,这些类型的变量之间不允许互相赋值或操作,不然会在编译时引起编译器报错。 > >如下的代码会产生错误 > -> var a int8 -> var b int32 -> c:=a + b +>> var a int8 +>> var b int32 +>> c:=a + b +> >另外,尽管int的长度是32 bit, 但int 与 int32并不可以互用。 浮点数的类型有`float32`和`float64`两种(没有`float`类型),默认是`float64`。 -这就是全部吗?No!Go还支持复数。它的默认类型是`complex128`(64位实数+64位虚数)。如果需要小一些的,也有`complex64`(32位实数+32位虚数)。复数的形式为`re + imi`,其中`re`是实数部分,`im`是虚数部分,而最后的`i`是虚数单位。下面是一个使用复数的例子: +这就是全部吗?No!Go还支持复数。它的默认类型是`complex128`(64位实数+64位虚数)。如果需要小一些的,也有`complex64`(32位实数+32位虚数)。复数的形式为`RE + IMi`,其中`RE`是实数部分,`IM`是虚数部分,而最后的`i`是虚数单位。下面是一个使用复数的例子: var c complex64 = 5+5i - + //output: (5+5i) fmt.Printf("Value is: %v", c) -它会打印:(5+5i) ###字符串 -我们在上一节中讲过,Go中的字符串都是用`UTF-8`的形式编码的。字符串通过用一对双引号(`""`)或反引号(`` ` ```` ` ``)括起来定义,它的类型是`string`。 +我们在上一节中讲过,Go中的字符串都是采用`UTF-8`字符集编码。字符串是用一对双引号(`""`)或反引号(`` ` `` `` ` ``)括起来定义,它的类型是`string`。 //示例代码 var frenchHello string // 声明变量为字符串的一般方法 @@ -148,7 +146,7 @@ Go对于已声明但未使用的变量会在编译阶段报错,比如下面的 fmt.Printf("%s\n", s2) -Go中可以使用`+`来链接两个字符串: +Go中可以使用`+`操作符来连接两个字符串: s := "hello," m := " world" @@ -157,7 +155,7 @@ Go中可以使用`+`来链接两个字符串: 修改字符串也可写为: - s := "hello" + s := "hello" s = "c" + s[1:] // 字符串虽不能更改,但可进行切片操作 fmt.Printf("%s\n", s) @@ -237,10 +235,10 @@ Go里面有一个关键字`iota`,这个关键字用来声明`enum`的时候采 ###Go程序设计的一些规则 Go之所以会那么简洁,是因为它有一些默认的行为: -- 大写字母开头的变量是已导出的,也就是其它包可以读取的,类似`class`中`public`的概念;小写字母开头的就是未导出的 -- 大写字母开头的函数也是一样,相当于`public`的函数;小写字母开头的就是类似`private` +- 大写字母开头的变量是可导出的,也就是其它包可以读取的,是公用变量;小写字母开头的就是不可导出的,是私有变量。 +- 大写字母开头的函数也是一样,相当于`class`中的带`public`关键词的公有函数;小写字母开头的就是有`private`关键词的私有函数。 -##array、slice、map +##array、slice和map ###array `array`就是数组,它的定义方式如下: @@ -252,7 +250,8 @@ Go之所以会那么简洁,是因为它有一些默认的行为: var arr [10]int // 声明了一个int类型的数组 arr[0] = 42 // 数组下标是从0开始的 arr[1] = 13 // 赋值操作 - fmt.Printf("The first element is %d\n", arr[0]) // 获取数据 + fmt.Printf("The first element is %d\n", arr[0]) // 获取数据,返回42 + fmt.Printf("The last element is %d\n", arr[9]) //返回未赋值的最后一个元素,默认返回0 由于长度也是数组类型的一部分,因此`[3]int`与`[4]int`是不同的类型,数组也就不能改变长度。数组之间的赋值是值的赋值,即当把一个数组作为参数传入函数的时候,传入的其实是该数组的副本,而不是它的指针。如果要使用指针,那么就需要用到后面介绍的`slice`类型了。 @@ -264,7 +263,7 @@ Go之所以会那么简洁,是因为它有一些默认的行为: c := [...]int{4, 5, 6} // 可以省略长度而采用`...`的方式,Go会自动根据元素个数来计算长度 -也许你会说,我想数组里面还是数组,能实现吗?当然咯,Go支持嵌套数组,即多维数组。比如下面的代码就声明了一个二维数组: +也许你会说,我想数组里面的值还是数组,能实现吗?当然咯,Go支持嵌套数组,即多维数组。比如下面的代码就声明了一个二维数组: // 声明了一个二维数组,该数组以两个数组作为元素,其中每个数组中又有4个int类型的元素 doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}} @@ -279,9 +278,9 @@ Go之所以会那么简洁,是因为它有一些默认的行为: ###slice -在很多应用场景中,数组并不能满足我们的需求。在刚开始时,我们并不知道需要多大的数组,因此我们就需要“动态数组”。在Go里面这种数据结构叫`slice` +在很多应用场景中,数组并不能满足我们的需求。在初始定义数组时,我们并不知道需要多大的数组,因此我们就需要“动态数组”。在Go里面这种数据结构叫`slice` -`slice`并不是真正意义上的动态数组,而是一个引用类型。`slice`总是指向底层的一个`array`,`slice`的声明也可以像`array`一样,只是不需要长度。 +`slice`并不是真正意义上的动态数组,而是一个引用类型。`slice`总是指向一个底层`array`,`slice`的声明也可以像`array`一样,只是不需要长度。 // 和声明array一样,只是少了长度 var fslice []int @@ -306,7 +305,7 @@ Go之所以会那么简洁,是因为它有一些默认的行为: b = ar[3:5] // b的元素是:ar[3]和ar[4] ->注意`slice`和数组在声明时的区别:声明数组时,方括号内写明了数组的长度或使用`...`自动计算长度,而声明``slice``时,方括号内没有任何字符。 +>注意`slice`和数组在声明时的区别:声明数组时,方括号内写明了数组的长度或使用`...`自动计算长度,而声明`slice`时,方括号内没有任何字符。 它们的数据结构如下所示 @@ -316,7 +315,7 @@ slice有一些简便的操作 - `slice`的默认开始位置是0,`ar[:n]`等价于`ar[0:n]` - `slice`的第二个序列默认是数组的长度,`ar[n:]`等价于`ar[n:len(ar)]` - - `slice`如果从一个数组里面直接获取,可以这样`ar[:]`,因为默认第一个序列是0,第二个是数组的长度,即等价于`ar[0:len(ar)]` + - 如果从一个数组里面直接获取`slice`,可以这样`ar[:]`,因为默认第一个序列是0,第二个是数组的长度,即等价于`ar[0:len(ar)]` 下面这个例子展示了更多关于`slice`的操作: @@ -376,8 +375,7 @@ slice有一些简便的操作 numbers["three"] = 3 fmt.Println("第三个数字是: ", numbers["three"]) // 读取数据 - // 打印出来如下: - // 第三个数字是: 3 + // 打印出来如:第三个数字是: 3 这个`map`就像我们平常看到的表格一样,左边列是`key`,右边列是值 @@ -416,15 +414,19 @@ slice有一些简便的操作 `make`用于内建类型(`map`、`slice` 和`channel`)的内存分配。`new`用于各种类型的内存分配。 -内建函数`new`本质上说跟其它语言中的同名函数功能一样:`new(T)`分配了零值填充的`T`类型的内存空间,并且返回其地址,即一个`*T`类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型`T`的零值。有一点非常重要:`new`返回指针。 +内建函数`new`本质上说跟其它语言中的同名函数功能一样:`new(T)`分配了零值填充的`T`类型的内存空间,并且返回其地址,即一个`*T`类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型`T`的零值。有一点非常重要: -内建函数`make(T, args)`与`new(T)`有着不同的功能,它只能创建`slice`、`map`和`channel`,并且返回一个有初始值(非零)的`T`类型,而不是`*T`。本质来讲,导致这三个类型有所不同的原因是指向数据结构的引用在使用前必须被初始化。例如,一个`slice`,是一个包含指向数据(内部`array`)的指针、长度和容量的三项描述符;在这些项目被初始化之前,`slice`为`nil`。对于`slice`、`map`和`channel`来说,`make`初始化了内部的数据结构,填充适当的值。`make`返回初始化后的(非零)值。 +>`new`返回指针。 + +内建函数`make(T, args)`与`new(T)`有着不同的功能,make只能创建`slice`、`map`和`channel`,并且返回一个有初始值(非零)的`T`类型,而不是`*T`。本质来讲,导致这三个类型有所不同的原因是指向数据结构的引用在使用前必须被初始化。例如,一个`slice`,是一个包含指向数据(内部`array`)的指针、长度和容量的三项描述符;在这些项目被初始化之前,`slice`为`nil`。对于`slice`、`map`和`channel`来说,`make`初始化了内部的数据结构,填充适当的值。 + +>`make`返回初始化后的(非零)值。 下面这个图详细的解释了`new`和`make`之间的区别。 ![](images/2.2.makenew.png?raw=true) -关于“零值”,所指并非是空值,而是一种“变量未填充前”的默认值。通常为 0。 +关于“零值”,所指并非是空值,而是一种“变量未填充前”的默认值,通常为0。 此处罗列 部分类型 的 “零值” int 0 diff --git a/2.3.md b/2.3.md index 3f5cb108..df68b14d 100644 --- a/2.3.md +++ b/2.3.md @@ -1,11 +1,11 @@ #2.3 流程和函数 这小节我们要介绍Go里面的流程控制以及函数操作 ##流程控制 -流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的描述来表达很复杂的事情。 +流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。流程控制包含分三大类:条件判断,循环控制和无条件跳转。 ###if -`if`也许是所有语言中最常见的了,它的语法概括起来就是:`如果满足条件就做某事,否则做另一件事` +`if`也许是各种编程语言中最常见的了,它的语法概括起来就是:`如果满足条件就做某事,否则做另一件事` -Go里面`if`条件语法中不需要括号,如下代码所示 +Go里面`if`条件判断语句中不需要括号,如下代码所示 if x > 10 { fmt.Println("x is greater than 10") @@ -13,7 +13,7 @@ Go里面`if`条件语法中不需要括号,如下代码所示 fmt.Println("x is less than 10") } -Go的`if`还有一个强大的地方就是条件里面允许声明一个变量,这个变量的作用域只能在该条件中,出了这个条件就不起作用了,如下所示 +Go的`if`还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内,其他地方就不起作用了,如下所示 // 计算获取值x,然后根据x返回的大小,判断是否大于10。 if x := computedValue(); x > 10 { @@ -37,7 +37,7 @@ Go的`if`还有一个强大的地方就是条件里面允许声明一个变量 ###goto -Go有`goto`语句——请明智地使用它。用`goto`跳转到一定是当前函数内定义的标签。例如假设这样一个循环: +Go有`goto`语句——请明智地使用它。用`goto`跳转到必须在当前函数内定义的标签。例如假设这样一个循环: func myFunc() { i := 0 @@ -47,7 +47,7 @@ Go有`goto`语句——请明智地使用它。用`goto`跳转到一定是当前 goto Here //跳转到Here去 } -标签名是大小写敏感的。 +>标签名是大小写敏感的。 ###for Go里面最强大的一个控制逻辑就是`for`,它即可以用来循环读取数据,又可以当作`while`来控制逻辑,还能迭代操作。它的语法如下: @@ -56,7 +56,7 @@ Go里面最强大的一个控制逻辑就是`for`,它即可以用来循环读 //... } -`expression1`、`expression2`和`expression3`都是表达式,其中`expression1`和`expression3`是变量声明或者函数调用返回值之类的,`expression2`是条件判断,`expression1`在循环开始之前调用,`expression3`在每轮循环结束之时调用。 +`expression1`、`expression2`和`expression3`都是表达式,其中`expression1`和`expression3`是变量声明或者函数调用返回值之类的,`expression2`是用来条件判断,`expression1`在循环开始之前调用,`expression3`在每轮循环结束之时调用。 一个例子比上面讲那么多更有用,那么我们看看下面的例子吧: @@ -224,7 +224,7 @@ Go里面最强大的一个控制逻辑就是`for`,它即可以用来循环读 上面这个里面我们可以看到`max`函数有两个参数,它们的类型都是`int`,那么第一个变量的类型可以省略(即 a,b int,而非 a int, b int),默认为离它最近的类型,同理多于2个同类型的变量或者返回值。同时我们注意到它的返回值就是一个类型,这个就是省略写法。 ###多个返回值 -Go语言和C相比,更先进的地方,其中一点就是能够返回多个值,也许这个思想来源于Python。 +Go语言比C更先进的特性,其中一点就是函数能够返回多个值。 我们直接上代码看例子 @@ -246,7 +246,7 @@ Go语言和C相比,更先进的地方,其中一点就是能够返回多个 fmt.Printf("%d * %d = %d\n", x, y, xTIMESy) } -上面的例子我们可以看到直接返回了两个参数,当然我们也可以命名返回参数的变量,这个例子里面只是用了两个类型,我们也可以改成如下这样的定义,然后返回的时候不用带上变量名,因为直接在函数里面初始化了。但如果你的函数是导出的(首字母大写),官方建议,最好命名返回值,因为不命名返回值,虽然使得代码更加简洁了,但是会造成生成的文档不易读。 +上面的例子我们可以看到直接返回了两个参数,当然我们也可以命名返回参数的变量,这个例子里面只是用了两个类型,我们也可以改成如下这样的定义,然后返回的时候不用带上变量名,因为直接在函数里面初始化了。但如果你的函数是导出的(首字母大写),官方建议:最好命名返回值,因为不命名返回值,虽然使得代码更加简洁了,但是会造成生成的文档可读性差。 func SumAndProduct(A, B int) (add int, Multiplied int) { add = A+B @@ -265,7 +265,7 @@ Go函数支持变参。接受变参的函数是有着不定数量的参数的。 } ###传值与传指针 -当我们传一个参数值到被调用函数里面时,实际上是传了这个值的一份copy,当在被调用函数中修改参数值的时候,调用函数中相应实参不会发生任何变化,因为我们作用在了copy上面。 +当我们传一个参数值到被调用函数里面时,实际上是传了这个值的一份copy,当在被调用函数中修改参数值的时候,调用函数中相应实参不会发生任何变化,因为数值变化只作用在copy上。 为了验证我们上面的说法,我们来看一个例子 @@ -320,7 +320,7 @@ Go函数支持变参。接受变参的函数是有着不定数量的参数的。 这样,我们就达到了修改`x`的目的。那么到底传指针有什么好处呢? - 传指针使得多个函数能操作同一个对象。 -- 传指针比较轻量级 (8 bytes)只是传内存地址,我们可以通过指针高效的传递大的结构体。如果传值的话,那么每次传递, 在copy上面就会花费大量的时间和内存。所以记住了,当你要传递大的结构体的时候,用指针是一个明智的选择。 +- 传指针比较轻量级 (8bytes),只是传内存地址,我们可以用指针传递体积大的结构体。如果用参数值传递的话, 在每次copy上面就会花费相对较多的系统开销(内存和时间)。所以当你要传递大的结构体的时候,用指针是一个明智的选择。 - Go语言中`string`,`slice`,`map`这三种类型的实现机制类似指针,所以可以直接传递,而不用取地址后传递指针。(注:若函数需改变`slice`的长度,则仍需要取地址传递指针) ###defer diff --git a/8.1.md b/8.1.md index 7b521117..ab7cb633 100644 --- a/8.1.md +++ b/8.1.md @@ -215,7 +215,7 @@ Go语言中通过net包中的`DialTCP`函数来建立一个TCP连接,并返回 conn.Write([]byte(daytime)) // don't care about return value // we're finished with this client } - func checkError(err os.Error) { + func checkError(err error) { if err != nil { fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) os.Exit(1) From 8720ba70e33451914bfc5c74bf0b45791684dd98 Mon Sep 17 00:00:00 2001 From: chenwenli Date: Mon, 29 Oct 2012 17:20:05 +0800 Subject: [PATCH 06/15] update generpub.sh --- genepub.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genepub.sh b/genepub.sh index a21a0f81..6f61dca1 100644 --- a/genepub.sh +++ b/genepub.sh @@ -13,5 +13,5 @@ for i in *.md;do sed -i '/!\[\](images/s#images\(.*\)?raw=true#../Images\1#' $i done -../build-web-application-with-golang -rm *.md +cd ../build-web-application-with-golang +rm -rf *.md From 993db9985af2ecdc27788da1e376c8975535cda1 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 29 Oct 2012 17:53:13 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E7=AC=AC?= =?UTF-8?q?=E5=8D=81=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.3.md | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2.2.md | 2 +- 2 files changed, 128 insertions(+), 3 deletions(-) diff --git a/10.3.md b/10.3.md index 0f55813f..23317662 100644 --- a/10.3.md +++ b/10.3.md @@ -35,18 +35,143 @@ //输出“递交” ## 自动加载本地包 -上面我们介绍了多个自定义语言包的自动加载,那么在我们加载的同时,其实go-i18n库会自动帮你加载一些定义的格式信息,例如时间格式、货币格式。请看下面的处理过程 +上面我们介绍了多个自定义语言包的自动加载,那么在我们加载的同时,其实go-i18n库会自动帮你加载一些定义的格式信息,例如时间格式、货币格式。所以在go-i18n包里面已经有了很多语言的时间格式、货币格式等定义,其实在调用NewLocale的时候这些默认的配置已经加载好了,用户可以继续在自己的定义配置中复写这些配置,请看下面的处理过程: + //加载默认配置文件,这些文件都放在go-i18n/locales下面 + + //文件命名zh.json、en-json、en-US.json等,可以不断的扩展支持更多的语言 + func (il *IL) loadDefaultTranslations(dirPath string) error { + dir, err := os.Open(dirPath) + if err != nil { + return err + } + defer dir.Close() + + names, err := dir.Readdirnames(-1) + if err != nil { + return err + } + + for _, name := range names { + fullPath := path.Join(dirPath, name) + + fi, err := os.Stat(fullPath) + if err != nil { + return err + } + + if fi.IsDir() { + if err := il.loadTranslations(fullPath); err != nil { + return err + } + } else if locale := il.matchingLocaleFromFileName(name); locale != "" { + file, err := os.Open(fullPath) + if err != nil { + return err + } + defer file.Close() + + if err := il.loadTranslation(file, locale); err != nil { + return err + } + } + } + + return nil + } +通过上面的方法加载配置信息到默认的文件,这样我们就可以在我们没有自定义时间信息的时候执行如下的代码获取对应的信息: + + //locale=zh的情况下,执行如下代码: + + fmt.Println(Tr.Time(time.Now())) + //输出:2009年1月08日 星期四 20:37:58 CST + + fmt.Println(Tr.Time(time.Now(),"long")) + //输出:2009年1月08日 + + fmt.Println(Tr.Money(11.11)) + //输出:¥11.11 ## template mapfunc +上面我们实现了多个语言包的管理和加载,而一些函数的实现也是基于逻辑层的,例如:"Tr.Translate"、"Tr.Time"、"Tr.Money"等函数,虽然利用这些函数我们再逻辑层可以把需要的参数进行转换然后在模板层渲染的时候直接输出,但是如果我们想在模版层直接使用这些函数该怎么实现呢?我们前面在介绍模板这小节的时候介绍过,Go语言的模板支持自定义模板函数,下面是我们实现的方便操作的mapfunc: 1. 文本信息 + + 文本信息调用`Tr.Translate`来实现相应的信息转换,mapFunc的实现如下: + + func I18nT(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Translate(s) + } + + 注册函数如下: + + t.Funcs(template.FuncMap{"T": I18nT}) + + 模板中使用如下: + + {{.submit | T}} + + 2. 时间日期 -3. 数字 + + 时间日期调用`Tr.Time`函数来实现相应的时间转换,mapFunc的实现如下: + + func I18nTimeDate(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Time(s) + } + + 注册函数如下: + + t.Funcs(template.FuncMap{"TD": I18nTimeDate}) + + 模板中使用如下: + + {{.now | TD}} +3. 货币信息 + + 货币调用`Tr.Money`函数来实现相应的时间转换,mapFunc的实现如下: + + func I18nMoney(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Money(s) + } + + 注册函数如下: + + t.Funcs(template.FuncMap{"M": I18nMoney}) + + 模板中使用如下: + + {{.money | M}} ## 总结 +通过这小节我们知道了如何实现一个多语言包的Web应用,通过自定义语言包我们可以方便的实现多语言,而且通过配置文件能够非常方便的扩充多语言,默认情况下,go-i18n会自定加载一些公共的配置信息,例如时间、货币等,我们就可以非常方便的使用,同时为了支持在模板中使用这些函数,也实现了相应的模板函数,这样就允许我们在开发Web应用的时候直接在模板中通过pipeline的方式来操作多语言包。 + ## links * [目录]() * 上一节: [本地化资源](<10.2.md>) diff --git a/2.2.md b/2.2.md index d67c8e0c..69f09297 100644 --- a/2.2.md +++ b/2.2.md @@ -364,7 +364,7 @@ slice有一些简便的操作 `map`也就是Python中字典的概念,它的格式为`map[keyType]valueType` -我们看下面的代码,`map`的读取和设置也类似`slice`一样,通过`key`来操作,只是`slice`只有`int`的`key`,而`map`多了很多类型,可以是`int`,可以是`string`及所有完全定义了`==`与`!=`操作的类型。 +我们看下面的代码,`map`的读取和设置也类似`slice`一样,通过`key`来操作,只是`slice`的`key`只能是`int`类型,而`map`多了很多类型,可以是`int`,可以是`string`及所有完全定义了`==`与`!=`操作的类型。 // 声明一个key是字符串,值为int的字典,这种方式的声明需要在使用之前使用make初始化 var numbers map[string] int From e7a2263af52d6dd347c8ae648d57003dcbd87bb6 Mon Sep 17 00:00:00 2001 From: astaxie Date: Mon, 29 Oct 2012 17:56:45 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.3.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/10.3.md b/10.3.md index 23317662..419b6c3e 100644 --- a/10.3.md +++ b/10.3.md @@ -119,7 +119,7 @@ 模板中使用如下: - {{.submit | T}} + {{.V.Submit | T}} 2. 时间日期 @@ -144,7 +144,7 @@ 模板中使用如下: - {{.now | TD}} + {{.V.Now | TD}} 3. 货币信息 货币调用`Tr.Money`函数来实现相应的时间转换,mapFunc的实现如下: @@ -167,7 +167,7 @@ 模板中使用如下: - {{.money | M}} + {{.V.Money | M}} ## 总结 通过这小节我们知道了如何实现一个多语言包的Web应用,通过自定义语言包我们可以方便的实现多语言,而且通过配置文件能够非常方便的扩充多语言,默认情况下,go-i18n会自定加载一些公共的配置信息,例如时间、货币等,我们就可以非常方便的使用,同时为了支持在模板中使用这些函数,也实现了相应的模板函数,这样就允许我们在开发Web应用的时候直接在模板中通过pipeline的方式来操作多语言包。 From 5a26305ce74fd643858143d3084291278713d895 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Mon, 29 Oct 2012 21:28:22 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=8D=81=E4=B8=80?= =?UTF-8?q?=E7=AB=A0=E7=9A=84=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 11.1.md | 6 ++++++ 11.2.md | 6 ++++++ 11.3.md | 6 ++++++ 11.4.md | 6 ++++++ 11.md | 13 +++++++++++++ preface.md | 10 +++++----- 6 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 11.1.md create mode 100644 11.2.md create mode 100644 11.3.md create mode 100644 11.4.md create mode 100644 11.md diff --git a/11.1.md b/11.1.md new file mode 100644 index 00000000..da6fb439 --- /dev/null +++ b/11.1.md @@ -0,0 +1,6 @@ +# 11.1 错误处理 + +## links + * [目录]() + * 上一节: [错误处理,调试和测试](<11.md>) + * 下一节: [使用GDB调试](<11.2.md>) \ No newline at end of file diff --git a/11.2.md b/11.2.md new file mode 100644 index 00000000..8a7c3a03 --- /dev/null +++ b/11.2.md @@ -0,0 +1,6 @@ +# 11.2 使用GDB调试 + +## links + * [目录]() + * 上一节: [错误处理](<11.1.md>) + * 下一节: [Go怎么写测试用例](<11.3.md>) \ No newline at end of file diff --git a/11.3.md b/11.3.md new file mode 100644 index 00000000..92557aeb --- /dev/null +++ b/11.3.md @@ -0,0 +1,6 @@ +# 11.3 Go怎么写测试用例 + +## links + * [目录]() + * 上一节: [使用GDB调试](<11.2.md>) + * 下一节: [小结](<11.4.md>) \ No newline at end of file diff --git a/11.4.md b/11.4.md new file mode 100644 index 00000000..8ab0f766 --- /dev/null +++ b/11.4.md @@ -0,0 +1,6 @@ +# 11.4 小结 + +## links + * [目录]() + * 上一节: [Go怎么写测试用例](<11.3.md>) + * 下一节: [部署与维护](<12.md>) \ No newline at end of file diff --git a/11.md b/11.md new file mode 100644 index 00000000..0d185c0e --- /dev/null +++ b/11.md @@ -0,0 +1,13 @@ +# 11 错误处理,调试和测试 + + +## 目录 + * 1 [错误处理](11.1.md) + * 2 [使用GDB调试](11.2.md) + * 3 [Go怎么写测试用例](11.3.md) + * 4 [小结](11.4.md) + +## links + * [目录]() + * 上一章: [第十章总结](<10.4.md>) + * 下一节: [错误处理](<11.1.md>) \ No newline at end of file diff --git a/preface.md b/preface.md index 184d2399..cb49f263 100644 --- a/preface.md +++ b/preface.md @@ -65,11 +65,11 @@ - 10.2 [本地化资源](10.2.md) - 10.3 [国际化站点](10.3.md) - 10.4 [小结](10.4.md) -* 11.错误处理,故障排除和测试 - - 11.1 错误处理 - - 11.2 使用GDB调试 - - 11.3 Go怎么写测试用例 - - 11.4 小结 +* 11.[错误处理,调试和测试](11.md) + - 11.1 [错误处理](11.1.md) + - 11.2 [使用GDB调试](11.2.md) + - 11.3 [Go怎么写测试用例](11.3.md) + - 11.4 [小结](11.4.md) * 12.部署与维护 - 12.1 应用日志 - 12.2 网站错误处理 From 1ec431493269fd5374d1c0590df550ea0f7bcbd2 Mon Sep 17 00:00:00 2001 From: chenwenli Date: Tue, 30 Oct 2012 13:09:07 +0800 Subject: [PATCH 10/15] update 2.3md,3.1md,3.2md,3.3md --- 2.3.md | 2 +- 3.1.md | 92 ++++++++++++++++++++++++++++------------------------------ 3.2.md | 8 ++--- 3.3.md | 22 +++++++------- 4 files changed, 61 insertions(+), 63 deletions(-) diff --git a/2.3.md b/2.3.md index 1947e2e7..60bef660 100644 --- a/2.3.md +++ b/2.3.md @@ -3,7 +3,7 @@ ## 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。流程控制包含分三大类:条件判断,循环控制和无条件跳转。 ### if -`if`也许是各种编程语言中最常见的了,它的语法概括起来就是:`如果满足条件就做某事,否则做另一件事` +`if`也许是各种编程语言中最常见的了,它的语法概括起来就是:如果满足条件就做某事,否则做另一件事。 Go里面`if`条件判断语句中不需要括号,如下代码所示 diff --git a/3.1.md b/3.1.md index 7c526e3c..8998288b 100644 --- a/3.1.md +++ b/3.1.md @@ -1,21 +1,21 @@ # 3.1 Web工作方式 -我们平时浏览网页的时候,打开浏览器,输入网址,按下回车键,然后就出来了内容。在这个看似简单的行为背后,到底隐藏了些什么呢? +我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢? -上面这个普通的浏览过程,底层其实是这样做的:浏览器是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP和服务器建立socket连接,发送http请求信息,服务器接收到请求信息之后,处理相应的请求,返回http response信息,客户端接收到http信息之后开始渲染这些http response里面的content信息,断开和服务器的socket链接。 +对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。 ![](images/3.1.web2.png?raw=true) - 一个Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器(手机端客户端其实内部也是浏览器实现)。 + 一个Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器(其实手机端客户端内部也是浏览器实现的)。 -Web服务器的工作原理简单的可以归纳为: +Web服务器的工作原理可以简单地归纳为: -- 客户机通过socket建立到服务器的连接 -- 客户端向服务器发送请求,http协议包,请求转化成服务器对应的文档 -- 服务器向客户机发送应答,http协议包,请求的如果包含有动态语言的部分,那么动态语言把相应的数据结果返回给客户端 -- 客户机与服务器断开。客户端解释HTML文档,在客户端屏幕上显示结果 +- 客户机通过TCP/IP协议建立到服务器的TCP连接 +- 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档 +- 服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端 +- 客户机与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果 -一个简单的事务处理事件就是这样实现的,看起来很复杂,做起来其实是挺简单的,需要注意的是客户机与服务器之间的通信是非连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。 +一个简单的HTTP事务就是这样实现的,看起来很复杂,原理其实是挺简单的。需要注意的是客户机与服务器之间的通信是非持久连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。 ## URL和DNS解析 我们浏览网页都是通过URL访问的,那么URL到底是怎么样的呢? @@ -62,24 +62,22 @@ HTTP协议是Web工作的核心,所以要了解清楚Web的工作方式就需 HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议,它建立在TCP协议之上,一般采用TCP的80端口。它是一个请求、响应协议--客户端发出一个请求,服务器响应这个请求。在HTTP中,客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回调连接。客户端与服务器端都可以提前中断一个连接。例如,当浏览器下载一个文件时,你可以通过点击“停止”键来中断文件的下载,关闭与服务器的HTTP连接。 -HTTP协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对HTTP服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态。 +HTTP协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对HTTP服务器来说,它并不知道这两个请求是否来自同一个客户端。为了解决这个问题, Web程序引入了Cookie机制来维护连接的可持续状态。 >HTTP协议是建立在TCP协议之上的,因此TCP攻击一样会影响HTTP的通讯,例如比较常见的一些攻击:SYN Flood是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 -### HTTP请求信息(浏览器信息) +### HTTP请求包(浏览器信息) -我们先来看看Request消息的结构, Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header,第三部分是body。header和body之间有个空行,详细的如下所示 +我们先来看看Request包的结构, Request包分为3部分,第一部分叫Request line(请求行), 第二部分叫Request header(请求头),第三部分是body(主体)。header和body之间有个空行,请求包的例子所示: - - 请求行:GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号 - - 请求头: - - Host:客户端IP和端口 - User-Agent:浏览器信息 - Accept:客户端能接收的数据类型 - Accept-encoding:是否支持压缩的流 - Accept-charset:客户端字符编码集 - - 空行:分割请求头和消息体 - - 消息体:请求的参数 + GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP协议/协议版本 + Host:www.iana.org //服务端的主机名 + User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 //浏览器信息 + Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 //客户端能接收的mine + Accept-Encoding:gzip,deflate,sdch //是否支持流压缩 + Accept-Charset:UTF-8,*;q=0.5 //客户端字符编码集 + //空行,用于分割请求头和消息体 + //消息体,请求资源参数,例如POST传递的参数 我们通过fiddler抓包可以看到如下请求信息 @@ -87,36 +85,36 @@ HTTP协议是无状态的,同一个客户端的这次请求和上次请求是 ![](images/3.1.httpPOST.png?raw=true) -我们可以看到GET请求消息体为空,POST请求带有消息体。 +**我们可以看到GET请求消息体为空,POST请求带有消息体**。 -Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. +HTTP协议定义了很多与服务器交互的请求方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. 我们看看GET和POST的区别 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中. 2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制. 3. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码。 -### HTTP响应信息(服务器信息) -我们再来看看HTTP的response信息,他的结构如下: +### HTTP响应包(服务器信息) +我们再来看看HTTP的response包,他的结构如下: - - 状态行:HTTP版本 服务器状态(比如:404找不到...) 描述信息 - - 响应头 + HTTP/1.1 200 OK //状态行 + Server: nginx/1.0.8 //服务器使用的WEB软件名及版本 + Date:Date: Tue, 30 Oct 2012 04:14:25 GMT //发送时间 + Content-Type: text/html //服务器发送信息的类型 + Transfer-Encoding: chunked //表示发送HTTP包是分段发的 + Connection: keep-alive //保持连接状态 + Content-Length: 90 //主体内容长度 + //空行 用来分割消息头和主体 + 网页优化方面有一项是减少http请求次数,就是把尽量多的css和js合并在一起,尽量做到少的http请求。 +>网页优化方面有一项措施是减少HTTP请求次数,就是把尽量多的css和js资源合并在一起,目的是尽量减少网页请求静态资源的次数,提高网页加载速度,同时减缓服务器的压力。 ## links * [目录]() diff --git a/3.2.md b/3.2.md index 0ea4397e..9f0f6ea3 100644 --- a/3.2.md +++ b/3.2.md @@ -50,13 +50,13 @@ 我们看到上面的代码,要编写一个web服务器很简单,只要调用http包的两个函数就可以了。 ->- 如果你以前是PHP程序员,那你也许就会问,我们的nginx、apache服务器不需要吗?Go就是不需要这些,因为他直接就监听tcp端口了,做了nginx做的事情,然后sayhelloName这个其实就是我们写的逻辑函数了,也就是php里面的执行逻辑类似。 +>如果你以前是PHP程序员,那你也许就会问,我们的nginx、apache服务器不需要吗?Go就是不需要这些,因为他直接就监听tcp端口了,做了nginx做的事情,然后sayhelloName这个其实就是我们写的逻辑函数了,也就是php里面的控制层(controller)函数类似。 ->- 如果你以前是python程序员,那么你一定听说过tornado,这个代码和他是不是很像,对,没错,go就是拥有类似python这样动态语言的特性,写web应用很方便。 +>如果你以前是python程序员,那么你一定听说过tornado,这个代码和他是不是很像,对,没错,go就是拥有类似python这样动态语言的特性,写web应用很方便。 ->- 如果你以前是ruby程序员,那么和ROR的/script/server启动有点类似。 +>如果你以前是ruby程序员,那么和ROR的/script/server启动有点类似。 -我们看到Go通过简单的几行代码就已经运行起来一个web服务了,而且这个Web服务内部已经支持了高并发的特性,我将会在接下来的两个小节里面详细的讲解一下go是如何实现Web高并发的。 +我们看到Go通过简单的几行代码就已经运行起来一个web服务了,而且这个Web服务内部有支持高并发的特性,我将会在接下来的两个小节里面详细的讲解一下go是如何实现Web高并发的。 ## links * [目录]() diff --git a/3.3.md b/3.3.md index 197b7365..1cb06a15 100644 --- a/3.3.md +++ b/3.3.md @@ -1,9 +1,9 @@ # 3.3 Go如何使得Web工作 -前面小节介绍了如何通过Go搭建一个Web服务,我们可以看到简单的应用了一个net/http包就方便的搭建起来了。那么他底层到底是怎么做的呢?万变不离其宗,Go也离不开我们第一小节介绍的Web工作方式。 +前面小节介绍了如何通过Go搭建一个Web服务,我们可以看到简单应用一个net/http包就方便的搭建起来了。那么Go在底层到底是怎么做的呢?万变不离其宗,Go的Web服务工作也离不开我们第一小节介绍的Web工作方式。 -## 对应web工作方式的几个概念 +## web工作方式的几个概念 -以下均是服务器端的相应概念 +以下均是服务器端的几个概念 Request:用户请求的信息,用来解析用户的请求信息,包括post、get、cookie、url等信息 @@ -15,15 +15,15 @@ Handler:处理请求和生成返回信息的处理逻辑 ## 分析http包运行机制 -如下图所示,是Go实现Web工作模式的流程图 +如下图所示,是Go实现Web服务的工作模式的流程图 ![](images/3.3.http.png?raw=true) -(1) 创建listen socket, 在指定的端口监听, 等待客户端请求的到来。 +1. 创建Listen Socket, 监听指定的端口, 等待客户端请求到来。 -(2) listen socket接受客户端的请求, 得到client socket, 接下来通过client socket与客户端通信。 +2. Listen Socket接受客户端的请求, 得到Client Socket, 接下来通过Client Socket与客户端通信。 -(3) 处理客户端的请求, 首先从client socket读取http请求的协议头, 如果是post协议, 还可能要读取客户端上传的数据, 然后扔给相应的handler处理请求, handler处理完毕准备好客户端需要的数据, 通过client socket写给客户端。 +3. 处理客户端的请求, 首先从Client Socket读取HTTP请求的协议头, 如果是POST方法, 还可能要读取客户端提交的数据, 然后交给相应的handler处理请求, handler处理完毕准备好客户端需要的数据, 通过Client Socket写给客户端。 这整个的过程里面我们只要了解清楚下面三个问题,也就知道Go是如何让Web运行起来了 @@ -31,17 +31,17 @@ Handler:处理请求和生成返回信息的处理逻辑 - 如何接收客户端请求? - 如何分配handler? -前面小节的代码里面我们可以看到,Go是通过一个函数来操作这个事情的`ListenAndServe`来监听起来的,这个底层其实这样处理的:初始化一个server对象,然后调用了`net.Listen("tcp", addr)`,也就是底层起的是TCP协议,然后监控了我们设置的端口。 +前面小节的代码里面我们可以看到,Go是通过一个函数来操作这个事情的`ListenAndServe`来监听起来的,这个底层其实这样处理的:初始化一个server对象,然后调用了`net.Listen("tcp", addr)`,也就是底层用TCP协议搭建了一个服务,然后监控我们设置的端口。 -监控之后如何接收客户端的请求呢?上面的监控端口之后,就调用了`srv.Serve(net.Listener)`函数,这个函数就是处理接收客户端的请求信息。这个函数里面起了一个`for{}`,首先通过Listener接收请求,其次起一个Conn,最后单独开了一个goroutine,把这个请求的数据当做参数扔给这个conn去服务:`go c.serve()`。这个就是高并发体现了,用户来的请求都是goroutine去服务,相互不影响。 +监控之后如何接收客户端的请求呢?上面代码执行监控端口之后,调用了`srv.Sere(net.Listener)`函数,这个函数就是处理接收客户端的请求信息。这个函数里面起了一个`for{}`,首先通过Listener接收请求,其次创建一个Conn,最后单独开了一个goroutine,把这个请求的数据当做参数扔给这个conn去服务:`go c.serve()`。这个就是高并发体现了,用户的每一次请求都是在一个新的goroutine去服务,相互不影响。 -那么如何具体分配到相应的函数来处理请求呢?conn首先会解析request:`c.readRequest()`,然后获取相应的handler:`handler := c.server.Handler`,也就是我们刚才在调用函数`ListenAndServe`时候的第二个参数,我们前面例子传递的是nil,也就是为空,那么默认获取`handler = DefaultServeMux`,那么这个变量用来做什么的呢?对,这个变量就是一个路由器,它用来把url匹配到其相应的handle函数,那么这个我们有设置过吗?有,我们调用的代码里面第一句不是调用了`http.HandleFunc("/", sayhelloName)`嘛。这个就是注册了相应的路由,url为"/"的请求到函数sayhelloName,DefaultServeMux会调用ServeHTTP方法,这个方法内部其实就是调用sayhelloName本身,最后通过写入response的信息反馈到客户端。 +那么如何具体分配到相应的函数来处理请求呢?conn首先会解析request:`c.readRequest()`,然后获取相应的handler:`handler := c.server.Handler`,也就是我们刚才在调用函数`ListenAndServe`时候的第二个参数,我们前面例子传递的是nil,也就是为空,那么默认获取`handler = DefaultServeMux`,那么这个变量用来做什么的呢?对,这个变量就是一个路由器,它用来匹配url跳转到其相应的handle函数,那么这个我们有设置过吗?有,我们调用的代码里面第一句不是调用了`http.HandleFunc("/", sayhelloName)`嘛。这个作用就是注册了请求`/`的路由规则,当请求uri为"/",路由就会转到函数sayhelloName,DefaultServeMux会调用ServeHTTP方法,这个方法内部其实就是调用sayhelloName本身,最后通过写入response的信息反馈到客户端。 详细的整个流程如下图所示: ![](images/3.3.illustrator.png?raw=true) -至此我们的三个问题已经全部得到了解答,你现在对于Go如何让Web跑起来的是否已经大概清楚了呢? +至此我们的三个问题已经全部得到了解答,你现在对于Go如何让Web跑起来的是否已经基本了解呢? ## links From f608fed2fabb999553997cc3432719d114b1c652 Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 30 Oct 2012 13:12:00 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=8D=81=E4=B8=80=E7=AB=A0=E7=AE=80?= =?UTF-8?q?=E4=BB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 11.md | 8 ++++++++ 6.2.md | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/11.md b/11.md index 0d185c0e..79f911c3 100644 --- a/11.md +++ b/11.md @@ -1,5 +1,13 @@ # 11 错误处理,调试和测试 +我们经常会看到很多程序员大部分的"编程"时间都花费在检查bug和修复bug上。无论你是在编写修改代码还是重构系统,几乎都是花费大量的时间在进行故障排除和测试,外界都觉得我们程序员是设计师,能够把一个系统从无做到有,是一项很伟大的工作,而且是相当有趣的工作,但事实上我们每天都是徘回在排错、调试、测试之间。当然如果你有良好的习惯和技术方案来直面这些问题,那么你就有可能将排错时间减到最少,而尽可能的将时间花费在更有价值的事情上。 +但是遗憾的是很多程序员不愿意在错误处理、调试和测试能力上下工夫,导致后面应用上线之后查找错误、定位问题花费更多的时间。所以我们在设计应用之前就做好错误处理规划、测试用例等,那么将来修改代码、升级系统都讲变得简单。 + +开发Web应用过程中,错误自然难免,那么如何更好的找到错误原因,解决问题呢?11.1小节将介绍Go语言中如何处理错误,如何设计自己的包、函数的错误处理,11.2小节将介绍如何使用GDB来调试我们的程序,动态运行情况下各种变量信息,运行情况的监控和调试。 + +11.3小节将对Go语言中的单元测试进行深入的探讨,并示例如何来编写单元测试,Go的单元测试规则规范如何定义,以保证以后升级修改运行相应的测试代码就可以进行最小化的测试。 + +长期以来,培养良好的调试、测试习惯一直是很多程序员逃避的事情,所以现在你不要再逃避了,就从你现在的项目开发,从学习Go Web开发开始养成良好的习惯。 ## 目录 * 1 [错误处理](11.1.md) diff --git a/6.2.md b/6.2.md index e5055948..36f5d5d9 100644 --- a/6.2.md +++ b/6.2.md @@ -48,7 +48,7 @@ session的基本原理是由服务器为每个会话维护一份信息数据, return &Manager{provider: provider, cookieName: cookieName, maxlifetime: maxlifetime}, nil } -Go实现整个的流程应该也是这样的,在main包中创建一个全部的session管理器 +Go实现整个的流程应该也是这样的,在main包中创建一个全局的session管理器 var globalSessions *session.Manager //然后在init函数中初始化 From 5dbb0ab8c5e9401fd274be2b76e18ae3f27ed280 Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 30 Oct 2012 14:09:27 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 9.6.md | 65 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/9.6.md b/9.6.md index 504b2d7d..124c626c 100644 --- a/9.6.md +++ b/9.6.md @@ -54,40 +54,51 @@ Go语言的`crypto`里面支持对称加密的高级加解密包有: package main - import ( - "crypto/aes" - . "fmt" - "os" - ) + import ( + "crypto/aes" + "crypto/cipher" + "fmt" + "os" + ) - func main() { - msg := "My name is Astaxie" - // some key, 16 Byte long - key := []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f} + var commonIV = []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f} - Println("len of message: ", len(msg)) - Println("len of key: ", len(key)) - // create the new cipher - c, err := aes.NewCipher(key) - if err != nil { - Println("Error: NewCipher(%d bytes) = %s", len(key), err) - os.Exit(-1) - } + func main() { + //需要去加密的字符串 + plaintext := []byte("My name is Astaxie") + //如果传入加密串的话,plaint就是传入的字符串 + if len(os.Args) > 1 { + plaintext = []byte(os.Args[1]) + } - out := make([]byte, len(msg)) + //aes的加密字符串 + key_text := "astaxie12798akljzmknm.ahkjkljl;k" + if len(os.Args) > 2 { + key_text = os.Args[2] + } - c.Encrypt(out, []byte(msg)) // encrypt the first half - //c.Encrypt(msgbuf[16:32], out[16:32]) // encrypt the second half + fmt.Println(len(key_text)) - Println("len of encrypted: ", len(out)) - Println(">> ", out) + // 创建加密算法aes + c, err := aes.NewCipher([]byte(key_text)) + if err != nil { + fmt.Printf("Error: NewCipher(%d bytes) = %s", len(key_text), err) + os.Exit(-1) + } - // // now we decrypt our encrypted text - plain := make([]byte, len(out)) - c.Decrypt(plain, out) + //加密字符串 + cfb := cipher.NewCFBEncrypter(c, commonIV) + ciphertext := make([]byte, len(plaintext)) + cfb.XORKeyStream(ciphertext, plaintext) + fmt.Printf("%s=>%x\n", plaintext, ciphertext) + + // 加密字符串 + cfbdec := cipher.NewCFBDecrypter(c, commonIV) + plaintextCopy := make([]byte, len(plaintext)) + cfbdec.XORKeyStream(plaintextCopy, ciphertext) + fmt.Printf("%x=>%s\n", ciphertext, plaintextCopy) + } - Println("msg: ", string(plain)) - } 上面通过调用函数`aes.NewCipher`(参数key必须是16、24或者32位的[]byte,分别对应AES-128, AES-192或AES-256算法),返回了一个`cipher.Block`接口,这个接口实现了三个功能: From 8654c22678de56ef5c9d56a5d22620ada1cbea21 Mon Sep 17 00:00:00 2001 From: astaxie Date: Tue, 30 Oct 2012 14:20:50 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86base64?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 9.6.md | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/9.6.md b/9.6.md index 124c626c..c506d8d1 100644 --- a/9.6.md +++ b/9.6.md @@ -11,23 +11,17 @@ "fmt" ) - const ( - base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" - ) - - var coder = base64.NewEncoding(base64Table) - func base64Encode(src []byte) []byte { - return []byte(coder.EncodeToString(src)) + return []byte(base64.StdEncoding.EncodeToString(src)) } func base64Decode(src []byte) ([]byte, error) { - return coder.DecodeString(string(src)) + return base64.StdEncoding.DecodeString(string(src)) } func main() { // encode - hello := "hello world" + hello := "你好,世界! hello world" debyte := base64Encode([]byte(hello)) fmt.Println(debyte) // decode @@ -43,6 +37,7 @@ fmt.Println(string(enbyte)) } + ## 高级加解密 Go语言的`crypto`里面支持对称加密的高级加解密包有: @@ -92,7 +87,7 @@ Go语言的`crypto`里面支持对称加密的高级加解密包有: cfb.XORKeyStream(ciphertext, plaintext) fmt.Printf("%s=>%x\n", plaintext, ciphertext) - // 加密字符串 + // 解密字符串 cfbdec := cipher.NewCFBDecrypter(c, commonIV) plaintextCopy := make([]byte, len(plaintext)) cfbdec.XORKeyStream(plaintextCopy, ciphertext) From 34947e67bb8d1131d53cadb9d2d4908bcd451df0 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Tue, 30 Oct 2012 21:36:46 +0800 Subject: [PATCH 14/15] =?UTF-8?q?review=20=E7=AC=AC=E5=8D=81=E7=AB=A0?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.2.md | 24 ++++++++++++------------ 10.3.md | 11 ++++++----- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/10.2.md b/10.2.md index 15fee775..af6a67f8 100644 --- a/10.2.md +++ b/10.2.md @@ -1,7 +1,7 @@ # 10.2 本地化资源 前面小节我们介绍了如何设置Locale,设置好Locale之后我们需要解决的问题就是如何存储相应的Locale对应的信息呢?这里面的信息包括:文本信息、时间和日期、货币值、图片、包含文件以及视图等资源。那么接下来我们讲对这些信息一一进行介绍,Go语言中我们把这些格式信息存储在JSON中,然后通过合适的方式展现出来。(接下来以中文和英文两种语言对比举例,存储格式文件en.json和zh-CN.json) ## 本地化文本消息 -文本信息是我们编写Web应用中最长用到的,也是本地化资源中最多的信息,你想要以适合本地的语言显示文本信息,那么就需要建立相应的map来维护一个key-value的关系,在打印消息之前从map中去获取相应的字符串,例如下面这个例如,一个包含英文和中文的食品名称的简单的map,以及一个从该map中抽取单词的函数。 +本信息是编写Web应用中最常用到的,也是本地化资源中最多的信息,想要以适合本地语言的方式来显示文本信息,可行的一种方案是:建立需要的语言相应的map来维护一个key-value的关系,在输出之前按需从适合的map中去获取相应的文本,如下是一个简单的示例: package main @@ -34,24 +34,24 @@ } -上面实现了简单的不同locale的文本翻译,实现了中文和英文对于同一个key显示不同的语言,上面实现了中文语言的文本消息,如果想切换到英文版本,只需要把lang设置问en即可。 +上面示例演示了不同locale的文本翻译,实现了中文和英文对于同一个key显示不同语言的实现,上面实现了中文的文本消息,如果想切换到英文版本,只需要把lang设置为en即可。 -但是有些时候并不是简单的key-value就能实现所有的文本翻译的,例如"I am 30 years old",中文表达是"我今年30岁了",而这个30是一个变量,这个时候我们可以结合`fmt.Printf`函数来实现,请看下面的代码: +有些时候仅是key-value替换是不能满足需要的,例如"I am 30 years old",中文表达是"我今年30岁了",而此处的30是一个变量,该怎么办呢?这个时候,我们可以结合`fmt.Printf`函数来实现,请看下面的代码: en["how old"] ="I am %d years old" cn["how old"] ="我今年%d岁了" fmt.Printf(msg(lang, "how old"), 30) -上面的示例代码主要是为了演示我们内部实现的思路,其实最后数据是存储在JSON里面的,map我们可以通过`json.Unmarshal`获取对应的数据。 +上面的示例代码仅用以演示内部的实现方案,而实际数据是存储在JSON里面的,所以我们可以通过`json.Unmarshal`来为相应的map填充数据。 ## 本地化日期和时间 -时间和日期对于不同的地区会显示不同的时间点,而且相应的显示时间格式也是不同的,例如中文环境下可能显示:`2012年10月24日 星期三 23时11分13秒 CST`,而在英文环境下可能显示:`Wed Oct 24 23:11:13 CST 2012`。这里面我们需要解决两点: +因为时区的关系,同一时刻,在不同的地区,表示是不一样的,而且因为Locale的关系,时间格式也不尽相同,例如中文环境下可能显示:`2012年10月24日 星期三 23时11分13秒 CST`,而在英文环境下可能显示:`Wed Oct 24 23:11:13 CST 2012`。这里面我们需要解决两点: 1. 时区问题 2. 格式问题 -时区问题我们可以通过`time.Now`返回当前locale的时间,但是我们可以通过`time.LoadLocation(name string)`获取相应地区的时区,如果中文地区,那么`name=Asia/Shanghai`,如果在美国那么可以设置`name=America/Chicago`,你可以在`$GOROOT/lib/time`包中找到time.zip,里面有每个地区的时区定义。详细的请看下面的例子: +$GOROOT/lib/time包中的timeinfo.zip含有locale对应的时区的定义,为了获得对应于当前locale的时间,我们应首先使用`time.LoadLocation(name string)`获取相应于地区的locale,比如`Asia/Shanghai`或`America/Chicago`对应的时区信息,然后再利用此信息与调用`time.Now`获得的Time对象协作来获得最终的时间。详细的请看下面的例子(该例子采用上面例子的一些变量): en["time_zone"]="America/Chicago" cn["time_zone"]="Asia/Shanghai" @@ -61,7 +61,7 @@ t = t.In(loc) fmt.Println(t.Format(time.RFC3339)) -格式问题我们可以通过类似上面文本信息的方式解决这个问题,就如上面刚开始显示的时间格式一样,中文和英文的显示信息完全不同,那我们就可以通过如下方式来实现 +我们可以通过类似处理文本格式的方式来解决时间格式的问题,举例如下: en["date_format"]="%Y-%m-%d %H:%M:%S" cn["date_format"]="%Y年%m月%d日 %H时%M分%S秒" @@ -78,7 +78,7 @@ } ## 本地化货币值 -各个地区的货币表示也不一样,我们想要根据不同的Locale显示不同的货币金额需要实现如上时间格式的处理函数,详细的实现请看下面代码: +各个地区的货币表示也不一样,处理方式也与日期差不多,细节请看下面代码: en["money"] ="USD %d" cn["money"] ="¥%d元" @@ -91,7 +91,7 @@ ## 本地化视图和资源 -我们在展现不同Locale的时候可能会根据不同的Locale采用不同的视图,这些视图里面包含不同的图片、css、js等各种静态资源。那么我们如何来处理这些信息呢?首先我们需要组织对应的locale文件信息,请看下面的文件目录安排: +我们可能会根据Locale的不同来展示视图,这些视图包含不同的图片、css、js等各种静态资源。那么应如何来处理这些信息呢?首先我们应按locale来组织文件信息,请看下面的文件目录安排: views |--en //英文模板 @@ -107,7 +107,7 @@ index.tpl login.tpl -有了这个文件安排之后我们就可以在渲染的地方这样来实现代码 +有了这个目录结构后我们就可以在渲染的地方这样来实现代码: s1, _ := template.ParseFiles("views"+lang+"index.tpl") @@ -123,10 +123,10 @@ //图片文件 -这样我们在本地化视图以及资源的时候采用这种方式就可以很容易的进行扩展了。 +采用这种方式来本地化视图以及资源时,我们就可以很容易的进行扩展了。 ## 总结 -本小节介绍了如何使用存储本地资源,本地资源有些需要通过转换函数,有些通过lang设置,但是最后都是通过key-value的方式存储了相应的Locale对应数据,然后通过转换函数通过key读取出来相应的Locale信息,如果是文本信息就直接输出了,如果是时间日期或者货币需要结合`fmt.Printf`函数的处理才能转换成正确的信息展示,而对于不同Locale的视图和资源是最简单的,只要在路径里面增加lang就可以实现了。 +本小节介绍了如何使用及存储本地资源,有时需要通过转换函数来实现,有时通过lang来设置,但是最终都是通过key-value的方式来存储Locale对应的数据,在需要时取出相应于Locale的信息后,如果是文本信息就直接输出,如果是时间日期或者货币,则需要先通过`fmt.Printf`或其他格式化函数来处理,而对于不同Locale的视图和资源则是最简单的,只要在路径里面增加lang就可以实现了。 ## links * [目录]() diff --git a/10.3.md b/10.3.md index 419b6c3e..416e80d4 100644 --- a/10.3.md +++ b/10.3.md @@ -1,7 +1,7 @@ # 10.3 国际化站点 前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。 ## 管理多个本地包 -在我们开发一个应用的时候,首先我们应该知道这个Web应用要支持多少个语言,例如首先这个Web应用需要支持中文和英文,也许以后会支持其他语言,但是结构已经有了,所以扩展非常容易。那么我们设计如下:Locale文件夹在config/locales下,假设你要支持中文和英语,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示: +在开发一个应用的时候,首先我们要决定是只支持一种语言,还是多种语言,如果要支持多种语言,我们则需要制定一个组织结构,以方便将来更多语言的添加。在此我们设计如下:Locale有关的文件放置在config/locales下,假设你要支持中文和英文,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示: # zh.json @@ -21,12 +21,12 @@ } } -然后调用go-i18n包里面注册一下这个目录,这样Go会加载config/locales目录下的locale文件: +为了支持国际化,在此我们使用了一个国际化相关的包——go-i18n(https://github.com/astaxie/go-i18n),首先我们向go-i18n包注册config/locales这个目录,以加载所有的locale文件 Tr:=i18n.NewLocale() Tr.LoadPath("config/locales") -使用很简单,你可以通过下面的方式进行测试: +这个包使用起来很简单,你可以通过下面的方式进行测试: fmt.Println(Tr.Translate("submit")) //输出Submit @@ -35,7 +35,8 @@ //输出“递交” ## 自动加载本地包 -上面我们介绍了多个自定义语言包的自动加载,那么在我们加载的同时,其实go-i18n库会自动帮你加载一些定义的格式信息,例如时间格式、货币格式。所以在go-i18n包里面已经有了很多语言的时间格式、货币格式等定义,其实在调用NewLocale的时候这些默认的配置已经加载好了,用户可以继续在自己的定义配置中复写这些配置,请看下面的处理过程: +上面我们介绍了如何自动加载自定义语言包,其实go-i18n库已经预加载了很多默认的格式信息,例如时间格式、货币格式,用户可以在自定义配置时改写这些默认配置,请看下面的处理过程: + //加载默认配置文件,这些文件都放在go-i18n/locales下面 @@ -95,7 +96,7 @@ //输出:¥11.11 ## template mapfunc -上面我们实现了多个语言包的管理和加载,而一些函数的实现也是基于逻辑层的,例如:"Tr.Translate"、"Tr.Time"、"Tr.Money"等函数,虽然利用这些函数我们再逻辑层可以把需要的参数进行转换然后在模板层渲染的时候直接输出,但是如果我们想在模版层直接使用这些函数该怎么实现呢?我们前面在介绍模板这小节的时候介绍过,Go语言的模板支持自定义模板函数,下面是我们实现的方便操作的mapfunc: +上面我们实现了多个语言包的管理和加载,而一些函数的实现是基于逻辑层的,例如:"Tr.Translate"、"Tr.Time"、"Tr.Money"等,虽然我们在逻辑层可以利用这些函数把需要的参数进行转换后在模板层渲染的时候直接输出,但是如果我们想在模版层直接使用这些函数该怎么实现呢?不知你是否还记得,在前面介绍模板的时候说过:Go语言的模板支持自定义模板函数,下面是我们实现的方便操作的mapfunc: 1. 文本信息 From 19865aa0f144dcd4a283e3af84e793fefcec9617 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Tue, 30 Oct 2012 22:54:50 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E5=B0=8F=E8=8A=82?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E4=B8=80=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 11.1.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/11.1.md b/11.1.md index da6fb439..f068429e 100644 --- a/11.1.md +++ b/11.1.md @@ -1,4 +1,29 @@ # 11.1 错误处理 +Go语言设计的时候主要的特点是:简洁、明白,简洁是指语法和C类似,相当的简单,明白是指任何语句都是很明显的,不含有任何隐式的东西,Go在设计错误的时候也是一样。我们知道C语言里面返回错误是使用-1或者nil之类的返回信息表示错误,但是对于使用者来说这个返回值根本不知道什么意思,而Go里面当发生异常时返回一个Error类型,通过前面编写的代码,我们发现在Go语言里面有很多地方都使用了Error类型,很多函数都有这个Error返回。例如`os.Open`函数当打开文件失败时返回一个不为nil的error + + func Open(name string) (file *File, err error) + +下面这个例子通过`os.Open`打开一个文件,如果出错那么会执行`log.Fatal`打印出来错误信息: + + f, err := os.Open("filename.ext") + if err != nil { + log.Fatal(err) + } + +其实这样的error返回在Go语言的很多内置包里面有很多,我们这个小节将详细的介绍这些error是怎么设计的,以及在我们设计的Web应用如何更好的处理error。 +## Error类型 +error类型是一个接口类型,这是他的定义: + + type error interface { + Error() string + } + + +## 自定义Error + +## Error检测 + +## 总结 ## links * [目录]()