Merge pull request #62 from guobiao/fork

Fix links to the code examples
This commit is contained in:
无闻
2014-12-18 18:03:23 -05:00
16 changed files with 33 additions and 33 deletions

View File

@@ -34,7 +34,7 @@ arr1 的长度是 5索引范围从 0 到 len(arr1)-1
- 通过 for 打印数组元素 - 通过 for 打印数组元素
- 通过 for 依次处理元素 - 通过 for 依次处理元素
示例 7.1 [for_arrays.go](exmaples/chapter_7/for_arrays.go) 示例 7.1 [for_arrays.go](examples/chapter_7/for_arrays.go)
package main package main
import "fmt" import "fmt"

View File

@@ -49,7 +49,7 @@ slice 在内存中的组织方式实际上是一个有 3 个域的结构体:
![](images/7.2_fig7.2.png?raw=true) ![](images/7.2_fig7.2.png?raw=true)
示例 7.7 [array_slices.go](exmaples/chapter_7/array_slices.go) 示例 7.7 [array_slices.go](examples/chapter_7/array_slices.go)
package main package main
import "fmt" import "fmt"
@@ -142,7 +142,7 @@ make 的使用方式是:`func make([]T, len, cap)` 其中 cap 是可选参数
下图描述了使用 make 方法生成的 slice 的内存结构![](images/7.2_fig7.2.1.png?raw=true) 下图描述了使用 make 方法生成的 slice 的内存结构![](images/7.2_fig7.2.1.png?raw=true)
示例 7.8 [make_slice.go](exmaples/chapter_7/make_slice.go) 示例 7.8 [make_slice.go](examples/chapter_7/make_slice.go)
package main package main
import "fmt" import "fmt"

View File

@@ -8,7 +8,7 @@
第一个返回值 dx 是数组或者 slice 的索引,第二个是在该索引位置的值;他们都是仅在 for 循环内部可见的局部变量,所以该值只是该索引项 slice 值的一个拷贝并且不能被修改。 第一个返回值 dx 是数组或者 slice 的索引,第二个是在该索引位置的值;他们都是仅在 for 循环内部可见的局部变量,所以该值只是该索引项 slice 值的一个拷贝并且不能被修改。
示例 7.9 [slices_forrange.go](exmaples/chapter_7/slices_forrange.go) 示例 7.9 [slices_forrange.go](examples/chapter_7/slices_forrange.go)
package main package main
import "fmt" import "fmt"
@@ -25,7 +25,7 @@
} }
} }
示例 7.10 [slices_forrange2.go](exmaples/chapter_7/slices_forrange2.go) 示例 7.10 [slices_forrange2.go](examples/chapter_7/slices_forrange2.go)
package main package main
import "fmt" import "fmt"

View File

@@ -13,7 +13,7 @@
slice 可以反复扩展直到占据整个相关数组。 slice 可以反复扩展直到占据整个相关数组。
示例 7.11 [reslicing.go](exmaples/chapter_7/reslicing.go) 示例 7.11 [reslicing.go](examples/chapter_7/reslicing.go)
package main package main
import "fmt" import "fmt"

View File

@@ -2,7 +2,7 @@
如果想增加 slice 的容量,我们必须创建一个新的更大的 slice 并把原分片的内容都拷贝过来。下面的代码描述了从拷贝 slice 的 copy 方法和向 slice 追加新元素的 append 方法。 如果想增加 slice 的容量,我们必须创建一个新的更大的 slice 并把原分片的内容都拷贝过来。下面的代码描述了从拷贝 slice 的 copy 方法和向 slice 追加新元素的 append 方法。
示例 7.12 [copy_append_slice.go](exmaples/chapter_7/copy_append_slice.go) 示例 7.12 [copy_append_slice.go](examples/chapter_7/copy_append_slice.go)
package main package main
import "fmt" import "fmt"

View File

@@ -27,7 +27,7 @@ key1对应的值可以通过赋值符号来设置为val1map1[key1] = val1
常用的len(map1)方法可以获得map中的pair数目这个数目是可以伸缩的因为map-pairs在运行时可以动态添加和删除。 常用的len(map1)方法可以获得map中的pair数目这个数目是可以伸缩的因为map-pairs在运行时可以动态添加和删除。
示例 8.1 [make_maps.go](exmaples/chapter_8/make_maps.go) 示例 8.1 [make_maps.go](examples/chapter_8/make_maps.go)
package main package main
import "fmt" import "fmt"
@@ -84,7 +84,7 @@ mapAssigned也是mapList的引用对mapAssigned的修改也会影响到mapLit
为了说明值可以是任意类型的这里给出了一个使用func() int作为值的map 为了说明值可以是任意类型的这里给出了一个使用func() int作为值的map
示例 8.2 [map_func.go](exmaples/chapter_8/map_func.go) 示例 8.2 [map_func.go](examples/chapter_8/map_func.go)
package main package main
import "fmt" import "fmt"

View File

@@ -25,7 +25,7 @@ isPresent返回一个bool值如果key1存在于map1val1就是key1对应的
如果key1不存在该操作不会产生错误。 如果key1不存在该操作不会产生错误。
示例 8.4 [map_testelement.go](exmaples/chapter_8/map_testelement.go) 示例 8.4 [map_testelement.go](examples/chapter_8/map_testelement.go)
package main package main
import "fmt" import "fmt"

View File

@@ -17,7 +17,7 @@
fmt.Printf("key is: %d\n", key) fmt.Printf("key is: %d\n", key)
} }
示例 8.5 [maps_forrange.go](exmaples/chapter_8/maps_forrange.go) 示例 8.5 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
package main package main
import "fmt" import "fmt"

View File

@@ -1,7 +1,7 @@
#8.3 map分片 #8.3 map分片
假设我们想获取一个map的分片我们必须使用两次make()方法第一次分配slice第二次分配slice的每个map元素参见下面的例子8.3)。 假设我们想获取一个map的分片我们必须使用两次make()方法第一次分配slice第二次分配slice的每个map元素参见下面的例子8.3)。
示例 8.3 [maps_forrange.go](exmaples/chapter_8/maps_forrange.go) 示例 8.3 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
package main package main
import "fmt" import "fmt"

View File

@@ -5,7 +5,7 @@ map默认是无序的不管是按照key还是按照value默认都不排序
下面有一个示例: 下面有一个示例:
示例 8.6 [sort_map.go](exmaples/chapter_8/sort_map.go) 示例 8.6 [sort_map.go](examples/chapter_8/sort_map.go)
// the telephone alphabet: // the telephone alphabet:
package main package main

View File

@@ -1,7 +1,7 @@
#8.6 倒置map #8.6 倒置map
这里倒置是指调换key和value。如果map的值类型可以作为key且所有的value是唯一的那么通过下面的方法可以简单的做到倒置 这里倒置是指调换key和value。如果map的值类型可以作为key且所有的value是唯一的那么通过下面的方法可以简单的做到倒置
示例 8.7 [invert_map.go](exmaples/chapter_8/invert_map.go) 示例 8.7 [invert_map.go](examples/chapter_8/invert_map.go)
package main package main
import ( import (

View File

@@ -13,7 +13,7 @@ syscall: 底层的外部包,提供了操作系统底层调用的基本接口
通过一个Go程序让Linux重启来体现它的能力(通过sudo ./6.out来执行程序): 通过一个Go程序让Linux重启来体现它的能力(通过sudo ./6.out来执行程序):
示例 9.1 [reboot.go](exmaples/chapter_9/reboot.go) 示例 9.1 [reboot.go](examples/chapter_9/reboot.go)
package main package main
import ( import (

View File

@@ -8,7 +8,7 @@
更多方法中必须先将正则通过Compile方法返回一个Regexp对象。然后我们将掌握一些匹配查找替换相关的功能。 更多方法中必须先将正则通过Compile方法返回一个Regexp对象。然后我们将掌握一些匹配查找替换相关的功能。
示例 9.2 [pattern.go](exmaples/chapter_9/pattern.go) 示例 9.2 [pattern.go](examples/chapter_9/pattern.go)
package main package main
import ( import (

View File

@@ -5,7 +5,7 @@
大的整型数字是通过big.NewInt(n)来构造的其中n位int64类型整数。而大有理数是用过big.NewRat(N,D)方法构造.N(分子)和D(分母)都是int64型整数。因为Go语言不支持运算符重载所以所有大数字类型都有像是Add()和Mul()这样的方法。它们作用于作为receiver的整数和有理数,大多数情况下它们修改receiver并以receiver作为返回结果。因为没有必要创建big.Int类型的临时变量来存放中间结果所以这样的运算可通过内存链式存储。 大的整型数字是通过big.NewInt(n)来构造的其中n位int64类型整数。而大有理数是用过big.NewRat(N,D)方法构造.N(分子)和D(分母)都是int64型整数。因为Go语言不支持运算符重载所以所有大数字类型都有像是Add()和Mul()这样的方法。它们作用于作为receiver的整数和有理数,大多数情况下它们修改receiver并以receiver作为返回结果。因为没有必要创建big.Int类型的临时变量来存放中间结果所以这样的运算可通过内存链式存储。
示例 9.2 [big.go](exmaples/chapter_9/big.go) 示例 9.2 [big.go](examples/chapter_9/big.go)
package main package main
import ( import (

View File

@@ -7,7 +7,7 @@
当前目录下(examples/chapter9)有一个名为package_test.go的程序, 它使用了自定义包pack1中pack1.go的代码。这段程序(联通编译链接生成的pack1.a)存放在当前目录下一个名为pack1的文件夹下。所以链接器将包的对象和主程序对象链接在一起。 当前目录下(examples/chapter9)有一个名为package_test.go的程序, 它使用了自定义包pack1中pack1.go的代码。这段程序(联通编译链接生成的pack1.a)存放在当前目录下一个名为pack1的文件夹下。所以链接器将包的对象和主程序对象链接在一起。
示例 9.4 [pack1.go](exmaples/chapter_9/pack1.go) 示例 9.4 [pack1.go](examples/chapter_9/pack1.go)
package pack1 package pack1
var Pack1Int int = 42 var Pack1Int int = 42
@@ -26,7 +26,7 @@
import的一般格式如下: import的一般格式如下:
import “包的路径或url地址“ 像 import "github.com/org1/pack1” import “包的路径或url地址“ 像 import "github.com/org1/pack1”
路径是指当前目录的相对路径。 路径是指当前目录的相对路径。

View File

@@ -7,7 +7,7 @@
/home/user/goprograms /home/user/goprograms
ucmain.go (uc包主程序) ucmain.go (uc包主程序)
Makefile (ucmain的2-makefile) Makefile (ucmain的2-makefile)
ucmain ucmain
src/uc (包含uc包的go源码) src/uc (包含uc包的go源码)
uc.go uc.go