Skip to content

Commit 5fcfdd0

Browse files
committed
修复了minux的一些建议
1 parent 666a3bb commit 5fcfdd0

File tree

6 files changed

+81
-49
lines changed

6 files changed

+81
-49
lines changed

1.1.md

Lines changed: 49 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
1-
# 1.1 GO 安装
1+
# 1.1 Go 安装
2+
3+
##如何判断机器是32还是64位系统
4+
我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定我们自己的系统类型。
5+
6+
针对window系统,右击我的电脑,点击属性,显示的信息里面我们可以判断出来,XP系统如果是64位的,那么会显示X64,如果没有X64,那么默认都是32位。window7系统也是查看我的电脑的属性,在系统类型里面会显示使用的系统类型,64位操作系统或者32位操作系统。
7+
8+
Mac系统的用户建议直接使用64位的,因为Go支持的Mac OS X已经不支持在纯32位处理器上跑了。
9+
10+
Linux系统通过命令`uname -a`可以查看系统的信息:
11+
12+
64位机器显示
13+
14+
前面有一段描述 x86_64 x86_64 x86_64 GNU/Linux
15+
16+
32位机器显示
17+
18+
前面有一段描述 i686 i686 i386 GNU/Linux
219

320
## Window 安装
421

@@ -20,35 +37,43 @@
2037

2138
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
2239

23-
## linux安装
24-
访问[下载地址][downlink],32位机器下载go1.0.2.linux-386.tar.gz,64位机器下载go1.0.2.linux-amd64.tar.gz,
25-
26-
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
27-
28-
解压文件到go,移动go文件到home目录下`mv go ~/`
29-
30-
设置PATH,`export PATH=$PATH:$HOME/go/bin`
40+
## linux安装
41+
访问[下载地址][downlink],32位机器下载go1.0.2.linux-386.tar.gz,64位机器下载go1.0.2.linux-amd64.tar.gz,
42+
43+
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
44+
45+
解压文件到go,移动go文件到home目录下`mv go ~/`
46+
47+
设置PATH,`export PATH=$PATH:$HOME/go/bin`
48+
49+
然后执行`go`
3150

32-
然后执行`go`
33-
3451
看到如下图片说明已经安装成功
3552

3653
![](images/1.1.linux.png?raw=true)
3754

38-
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
55+
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
56+
57+
58+
## 源码安装
59+
Go的源代码有部分是用C写的,所以你要源码安装,必须第一步安装C的编译工具
60+
61+
Mac系统只要你安装了Xcode,就已经包含了相应的编译工具。在Unix系统中需要安装gcc等工具,例如Ubuntu系统通过这种方式安装编译工具:`sudo apt-get install gcc libc6-dev`。在Window系统中你需要安装MinGW,通过MinGW安装gcc。
62+
63+
首先你必须安装了hg工具,然后执行如下的代码
64+
65+
假设当前在当前用户的home目录下
66+
67+
hg clone -u release https://code.google.com/p/go
68+
cd go/src
69+
./all.bash
3970

71+
运行all.bash后出现"ALL TESTS PASSED"的字样的时候才算安装成功;
4072

41-
## 源码安装
42-
首先你必须安装了hg工具,然后执行如下的代码
43-
44-
假设当前在当前用户的home目录下
45-
46-
hg clone -u release https://code.google.com/p/go
47-
cd go/src
48-
./all.bash
49-
50-
然后设置PATH,`export PATH=$PATH:$HOME/go/bin`
51-
73+
上面写的是Unix风格的,Windows下安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的 gcc。
74+
75+
然后设置PATH,`export PATH=$PATH:$HOME/go/bin`
76+
5277
看到如下图片说明已经安装成功
5378

5479
![](images/1.1.mac.png?raw=true)
@@ -57,7 +82,7 @@
5782

5883
## links
5984
* [目录](<preface.md>)
60-
* 上一节: [GO环境配置](<1.md>)
85+
* 上一节: [Go环境配置](<1.md>)
6186
* 下一节: [GOPATH 与工作空间](<1.2.md>)
6287

6388
## LastModified

1.2.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
在类似 Unix 环境大概这样设置:
77

8-
GOPATH=/home/apple/mygo
8+
export GOPATH=/home/apple/mygo
99

1010
Windows 设置如下,新建一个环境变量名称叫做GOPATH:
1111

@@ -56,7 +56,7 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个go
5656

5757
安装完之后,我们可以进入如下目录
5858

59-
cd $GOPATH/pkg/平台名/mymath.a
59+
cd $GOPATH/pkg/$GOOS_$GOARCH/mymath.a
6060

6161
这个.a文件是应用包,相当于一个函数库一样,那么我们如何进行调用呢?
6262

@@ -68,7 +68,7 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个go
6868
mkdir mathapp
6969
vim main.go
7070

71-
// $GOPATH/src/mathapp/main.go 源码:
71+
// `$GOPATH/src/mathapp/main.go`源码:
7272

7373
package main
7474

@@ -150,7 +150,7 @@ go get本质上可以理解为首先第一步是通过源码工具clone代码到
150150
## links
151151
* [目录](<preface.md>)
152152
* 上一节: [GO安装](<1.1.md>)
153-
* 下一节: [GO shell命令](<1.3.md>)
153+
* 下一节: [GO 命令](<1.3.md>)
154154

155155
## LastModified
156156
* $Id$

1.3.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 1.3 GO Shell 命令
1+
# 1.3 GO 命令
22

33
##GO 命令
44

@@ -21,9 +21,16 @@
2121

2222
(注:实际上,package名在[go语言规范](https://golang.org/ref/spec)中指代码中“package”后使用的名称,此名称可以与文件夹名不同。默认生成的可执行文件名是文件夹名。)
2323

24-
go build会忽略目录下以”_“开头的go文件
24+
go build会忽略目录下以”_“开头的go文件,还会忽略点开头的的go文件。
2525

26-
go build会选择性的编译系统名结尾的文件(linux、darwin、windows、freebsd),如果你编写的代码用了类似的名字结尾,那么很可能在别的系统下无法编译通过。
26+
如果你的源代码里面针对不同系统需要不同的逻辑处理,那么你可以根据不同的系统来命名文件,例如有一个读取数组的文件在不同的系统可能有如下几个文件
27+
28+
array_linux.go
29+
array_darwin.go
30+
array_windows.go
31+
array_freebsd.go
32+
33+
go build的时候会选择性的编译系统名结尾的文件(linux、darwin、windows、freebsd),例如linux系统下面编译只会选择array_linux.go文件,其他系统命名后缀文件全部忽略。
2734

2835
##go clean
2936

@@ -50,12 +57,12 @@
5057

5158
这个命令是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code 、Launchpad ,这个命令在内部实际上分成了两步操作,第一步是下载源码包,第二步是`go install`,下载源码包go工具会自动根据不同的域名调用不同的源码工具,对应关系如下:
5259

53-
BitBucket (Mercurial)
60+
BitBucket (Mercurial Git)
5461
GitHub (Git)
5562
Google Code Project Hosting (Git, Mercurial, Subversion)
5663
Launchpad (Bazaar)
5764

58-
所以为了`go get` 能正常工作,你必须确保安装了合适的 源码管理工具同时把这些命令加入你的path
65+
所以为了`go get` 能正常工作,你必须确保安装了合适的 源码管理工具同时把这些命令加入你的path。其实`go get`支持自定义域名的功能,具体参见`go help remote`
5966

6067
##go install
6168

@@ -92,7 +99,7 @@
9299
go version 查看go当前的版本
93100
go env 查看当前go的环境变量
94101
go list 列出当前全部安装的package
95-
go run 编译当前包并执行可执行文件
102+
go run 编译并运行Go程序
96103

97104
## links
98105
* [目录](<preface.md>)

1.4.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ Vim是从vi发展出来的一个文本编辑器, 代码补完、编译及错误
8686
4. 配置[Gocode](https://github.com/nsf/gocode/)
8787

8888
~ cd $GOPATH/src/github.com/nsf/gocode/vim
89-
~ /update.bash
89+
~ ./update.bash
9090
~ gocode set propose-builtins true
9191
propose-builtins true
9292
~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64"
@@ -235,7 +235,7 @@ Emacs传说中的神器,她不仅仅是一个编辑器,它是一个整合环
235235

236236
## links
237237
* [目录](<preface.md>)
238-
* 上一节: [Go Shell命令](<1.3.md>)
238+
* 上一节: [Go 命令](<1.3.md>)
239239
* 下一节: [总结](<1.5.md>)
240240

241241
## LastModified

1.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
# 1 GO环境配置
22

33
## 目录
4-
* 1. [GO安装](1.1.md)
4+
* 1. [Go安装](1.1.md)
55
* 2. [GOPATH 与工作空间](1.2.md)
6-
* 3. [GO shell命令](1.3.md)
6+
* 3. [Go 命令](1.3.md)
77
* 4. [GO开发工具](1.4.md)
88
* 5. [小结](1.5.md)
99

10-
欢迎来到GO的世界,让我们开始吧。
10+
欢迎来到Go的世界,让我们开始吧。
1111

12-
为什么选择GO
12+
为什么选择Go
1313

1414
- 拥有Python、php等开发快速的特性
1515
- 拥有c语言的运行性能
1616
- 程序级别的多并发控制
1717
- 跨平台,交叉编译
1818
总之是一种C+Python动静结合的好语言
1919

20-
在本章中,讲述GO的安装、以及如何配置项目信息。
20+
在本章中,讲述Go的安装、以及如何配置项目信息。
2121

2222
## links
2323
* [目录](<preface.md>)
24-
* 下一节: [GO安装](<1.1.md>)
24+
* 下一节: [Go安装](<1.1.md>)
2525

2626
## LastModified
2727
* $Id$

preface.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
* 1.[GO环境配置](1.md)
2-
- 1.1. [GO安装](1.1.md)
1+
* 1.[Go环境配置](1.md)
2+
- 1.1. [Go安装](1.1.md)
33
- 1.2. [GOPATH 与工作空间](1.2.md)
4-
- 1.3. [GO shell命令](1.3.md)
5-
- 1.4. [GO开发工具](1.4.md)
4+
- 1.3. [Go 命令](1.3.md)
5+
- 1.4. [Go开发工具](1.4.md)
66
- 1.5. [小结](1.5.md)
77
* 2.[GO语言基础](2.md)
88
- 2.1. [你好,GO](2.1.md)
99
- 2.2. [GO基础](2.2.md)
10-
- 2.3. [流程和函数](2.3.md)
10+
- 2.3. [流程和函数](2.3.md)
1111
- 2.4. [struct](2.4.md)
12-
- 2.5. [面向对象](2.5.md)
12+
- 2.5. [面向对象](2.5.md)
1313
- 2.6. [interface](2.6.md)
1414
- 2.7. [并发](2.7.md)
1515
- 2.8. [小结](2.8.md)
@@ -24,7 +24,7 @@
2424
- 4.2 [验证表单的输入](4.2.md)
2525
- 4.3 [预防跨站脚本](4.3.md)
2626
- 4.4 [防止多次递交表单](4.4.md)
27-
- 4.5 [处理文件上传](4.5.md)
27+
- 4.5 [处理文件上传](4.5.md)
2828
- 4.6 [小结](4.6.md)
2929
* 5.访问数据库
3030
- 5.1 database/sql接口

0 commit comments

Comments
 (0)