修复了minux的一些建议
This commit is contained in:
73
1.1.md
73
1.1.md
@@ -1,4 +1,21 @@
|
||||
# 1.1 GO 安装
|
||||
# 1.1 Go 安装
|
||||
|
||||
##如何判断机器是32还是64位系统
|
||||
我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定我们自己的系统类型。
|
||||
|
||||
针对window系统,右击我的电脑,点击属性,显示的信息里面我们可以判断出来,XP系统如果是64位的,那么会显示X64,如果没有X64,那么默认都是32位。window7系统也是查看我的电脑的属性,在系统类型里面会显示使用的系统类型,64位操作系统或者32位操作系统。
|
||||
|
||||
Mac系统的用户建议直接使用64位的,因为Go支持的Mac OS X已经不支持在纯32位处理器上跑了。
|
||||
|
||||
Linux系统通过命令`uname -a`可以查看系统的信息:
|
||||
|
||||
64位机器显示
|
||||
|
||||
前面有一段描述 x86_64 x86_64 x86_64 GNU/Linux
|
||||
|
||||
32位机器显示
|
||||
|
||||
前面有一段描述 i686 i686 i386 GNU/Linux
|
||||
|
||||
## Window 安装
|
||||
|
||||
@@ -20,35 +37,43 @@
|
||||
|
||||
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
|
||||
|
||||
## linux安装
|
||||
访问[下载地址][downlink],32位机器下载go1.0.2.linux-386.tar.gz,64位机器下载go1.0.2.linux-amd64.tar.gz,
|
||||
|
||||
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
|
||||
|
||||
解压文件到go,移动go文件到home目录下`mv go ~/`
|
||||
|
||||
设置PATH,`export PATH=$PATH:$HOME/go/bin`
|
||||
## linux安装
|
||||
访问[下载地址][downlink],32位机器下载go1.0.2.linux-386.tar.gz,64位机器下载go1.0.2.linux-amd64.tar.gz,
|
||||
|
||||
解压缩`tar zxvf go1.0.2.linux-amd64.tar.gz`
|
||||
|
||||
解压文件到go,移动go文件到home目录下`mv go ~/`
|
||||
|
||||
设置PATH,`export PATH=$PATH:$HOME/go/bin`
|
||||
|
||||
然后执行`go`
|
||||
|
||||
然后执行`go`
|
||||
|
||||
看到如下图片说明已经安装成功
|
||||
|
||||

|
||||
|
||||
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
|
||||
出现go编译的信息,那么说明go已经安装成功了,如果出现该命令不存在,那么可以检查一下自己的环境变量里面的PATH是不是包含了go安装目录
|
||||
|
||||
|
||||
## 源码安装
|
||||
首先你必须安装了hg工具,然后执行如下的代码
|
||||
|
||||
假设当前在当前用户的home目录下
|
||||
|
||||
hg clone -u release https://code.google.com/p/go
|
||||
cd go/src
|
||||
./all.bash
|
||||
|
||||
然后设置PATH,`export PATH=$PATH:$HOME/go/bin`
|
||||
|
||||
## 源码安装
|
||||
Go的源代码有部分是用C写的,所以你要源码安装,必须第一步安装C的编译工具
|
||||
|
||||
Mac系统只要你安装了Xcode,就已经包含了相应的编译工具。在Unix系统中需要安装gcc等工具,例如Ubuntu系统通过这种方式安装编译工具:`sudo apt-get install gcc libc6-dev`。在Window系统中你需要安装MinGW,通过MinGW安装gcc。
|
||||
|
||||
首先你必须安装了hg工具,然后执行如下的代码
|
||||
|
||||
假设当前在当前用户的home目录下
|
||||
|
||||
hg clone -u release https://code.google.com/p/go
|
||||
cd go/src
|
||||
./all.bash
|
||||
|
||||
运行all.bash后出现"ALL TESTS PASSED"的字样的时候才算安装成功;
|
||||
|
||||
上面写的是Unix风格的,Windows下安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的 gcc。
|
||||
|
||||
然后设置PATH,`export PATH=$PATH:$HOME/go/bin`
|
||||
|
||||
看到如下图片说明已经安装成功
|
||||
|
||||

|
||||
@@ -57,7 +82,7 @@
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一节: [GO环境配置](<1.md>)
|
||||
* 上一节: [Go环境配置](<1.md>)
|
||||
* 下一节: [GOPATH 与工作空间](<1.2.md>)
|
||||
|
||||
## LastModified
|
||||
|
||||
8
1.2.md
8
1.2.md
@@ -5,7 +5,7 @@
|
||||
|
||||
在类似 Unix 环境大概这样设置:
|
||||
|
||||
GOPATH=/home/apple/mygo
|
||||
export GOPATH=/home/apple/mygo
|
||||
|
||||
Windows 设置如下,新建一个环境变量名称叫做GOPATH:
|
||||
|
||||
@@ -56,7 +56,7 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个go
|
||||
|
||||
安装完之后,我们可以进入如下目录
|
||||
|
||||
cd $GOPATH/pkg/平台名/mymath.a
|
||||
cd $GOPATH/pkg/$GOOS_$GOARCH/mymath.a
|
||||
|
||||
这个.a文件是应用包,相当于一个函数库一样,那么我们如何进行调用呢?
|
||||
|
||||
@@ -68,7 +68,7 @@ GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个go
|
||||
mkdir mathapp
|
||||
vim main.go
|
||||
|
||||
// $GOPATH/src/mathapp/main.go 源码:
|
||||
// `$GOPATH/src/mathapp/main.go`源码:
|
||||
|
||||
package main
|
||||
|
||||
@@ -150,7 +150,7 @@ go get本质上可以理解为首先第一步是通过源码工具clone代码到
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一节: [GO安装](<1.1.md>)
|
||||
* 下一节: [GO shell命令](<1.3.md>)
|
||||
* 下一节: [GO 命令](<1.3.md>)
|
||||
|
||||
## LastModified
|
||||
* $Id$
|
||||
19
1.3.md
19
1.3.md
@@ -1,4 +1,4 @@
|
||||
# 1.3 GO Shell 命令
|
||||
# 1.3 GO 命令
|
||||
|
||||
##GO 命令
|
||||
|
||||
@@ -21,9 +21,16 @@
|
||||
|
||||
(注:实际上,package名在[go语言规范](https://golang.org/ref/spec)中指代码中“package”后使用的名称,此名称可以与文件夹名不同。默认生成的可执行文件名是文件夹名。)
|
||||
|
||||
go build会忽略目录下以”_“开头的go文件
|
||||
go build会忽略目录下以”_“开头的go文件,还会忽略点开头的的go文件。
|
||||
|
||||
go build会选择性的编译系统名结尾的文件(linux、darwin、windows、freebsd),如果你编写的代码用了类似的名字结尾,那么很可能在别的系统下无法编译通过。
|
||||
如果你的源代码里面针对不同系统需要不同的逻辑处理,那么你可以根据不同的系统来命名文件,例如有一个读取数组的文件在不同的系统可能有如下几个文件
|
||||
|
||||
array_linux.go
|
||||
array_darwin.go
|
||||
array_windows.go
|
||||
array_freebsd.go
|
||||
|
||||
go build的时候会选择性的编译系统名结尾的文件(linux、darwin、windows、freebsd),例如linux系统下面编译只会选择array_linux.go文件,其他系统命名后缀文件全部忽略。
|
||||
|
||||
##go clean
|
||||
|
||||
@@ -50,12 +57,12 @@
|
||||
|
||||
这个命令是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code 、Launchpad ,这个命令在内部实际上分成了两步操作,第一步是下载源码包,第二步是`go install`,下载源码包go工具会自动根据不同的域名调用不同的源码工具,对应关系如下:
|
||||
|
||||
BitBucket (Mercurial)
|
||||
BitBucket (Mercurial Git)
|
||||
GitHub (Git)
|
||||
Google Code Project Hosting (Git, Mercurial, Subversion)
|
||||
Launchpad (Bazaar)
|
||||
|
||||
所以为了`go get` 能正常工作,你必须确保安装了合适的 源码管理工具同时把这些命令加入你的path
|
||||
所以为了`go get` 能正常工作,你必须确保安装了合适的 源码管理工具同时把这些命令加入你的path。其实`go get`支持自定义域名的功能,具体参见`go help remote`
|
||||
|
||||
##go install
|
||||
|
||||
@@ -92,7 +99,7 @@
|
||||
go version 查看go当前的版本
|
||||
go env 查看当前go的环境变量
|
||||
go list 列出当前全部安装的package
|
||||
go run 编译当前包并执行可执行文件
|
||||
go run 编译并运行Go程序
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
|
||||
4
1.4.md
4
1.4.md
@@ -86,7 +86,7 @@ Vim是从vi发展出来的一个文本编辑器, 代码补完、编译及错误
|
||||
4. 配置[Gocode](https://github.com/nsf/gocode/)
|
||||
|
||||
~ cd $GOPATH/src/github.com/nsf/gocode/vim
|
||||
~ /update.bash
|
||||
~ ./update.bash
|
||||
~ gocode set propose-builtins true
|
||||
propose-builtins true
|
||||
~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64"
|
||||
@@ -235,7 +235,7 @@ Emacs传说中的神器,她不仅仅是一个编辑器,它是一个整合环
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一节: [Go Shell命令](<1.3.md>)
|
||||
* 上一节: [Go 命令](<1.3.md>)
|
||||
* 下一节: [总结](<1.5.md>)
|
||||
|
||||
## LastModified
|
||||
|
||||
12
1.md
12
1.md
@@ -1,15 +1,15 @@
|
||||
# 1 GO环境配置
|
||||
|
||||
## 目录
|
||||
* 1. [GO安装](1.1.md)
|
||||
* 1. [Go安装](1.1.md)
|
||||
* 2. [GOPATH 与工作空间](1.2.md)
|
||||
* 3. [GO shell命令](1.3.md)
|
||||
* 3. [Go 命令](1.3.md)
|
||||
* 4. [GO开发工具](1.4.md)
|
||||
* 5. [小结](1.5.md)
|
||||
|
||||
欢迎来到GO的世界,让我们开始吧。
|
||||
欢迎来到Go的世界,让我们开始吧。
|
||||
|
||||
为什么选择GO?
|
||||
为什么选择Go?
|
||||
|
||||
- 拥有Python、php等开发快速的特性
|
||||
- 拥有c语言的运行性能
|
||||
@@ -17,11 +17,11 @@
|
||||
- 跨平台,交叉编译
|
||||
总之是一种C+Python动静结合的好语言
|
||||
|
||||
在本章中,讲述GO的安装、以及如何配置项目信息。
|
||||
在本章中,讲述Go的安装、以及如何配置项目信息。
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 下一节: [GO安装](<1.1.md>)
|
||||
* 下一节: [Go安装](<1.1.md>)
|
||||
|
||||
## LastModified
|
||||
* $Id$
|
||||
14
preface.md
14
preface.md
@@ -1,15 +1,15 @@
|
||||
* 1.[GO环境配置](1.md)
|
||||
- 1.1. [GO安装](1.1.md)
|
||||
* 1.[Go环境配置](1.md)
|
||||
- 1.1. [Go安装](1.1.md)
|
||||
- 1.2. [GOPATH 与工作空间](1.2.md)
|
||||
- 1.3. [GO shell命令](1.3.md)
|
||||
- 1.4. [GO开发工具](1.4.md)
|
||||
- 1.3. [Go 命令](1.3.md)
|
||||
- 1.4. [Go开发工具](1.4.md)
|
||||
- 1.5. [小结](1.5.md)
|
||||
* 2.[GO语言基础](2.md)
|
||||
- 2.1. [你好,GO](2.1.md)
|
||||
- 2.2. [GO基础](2.2.md)
|
||||
- 2.3. [流程和函数](2.3.md)
|
||||
- 2.3. [流程和函数](2.3.md)
|
||||
- 2.4. [struct](2.4.md)
|
||||
- 2.5. [面向对象](2.5.md)
|
||||
- 2.5. [面向对象](2.5.md)
|
||||
- 2.6. [interface](2.6.md)
|
||||
- 2.7. [并发](2.7.md)
|
||||
- 2.8. [小结](2.8.md)
|
||||
@@ -24,7 +24,7 @@
|
||||
- 4.2 [验证表单的输入](4.2.md)
|
||||
- 4.3 [预防跨站脚本](4.3.md)
|
||||
- 4.4 [防止多次递交表单](4.4.md)
|
||||
- 4.5 [处理文件上传](4.5.md)
|
||||
- 4.5 [处理文件上传](4.5.md)
|
||||
- 4.6 [小结](4.6.md)
|
||||
* 5.访问数据库
|
||||
- 5.1 database/sql接口
|
||||
|
||||
Reference in New Issue
Block a user