GO语言学习笔记(一)Go语言的初步了解

栏目: Go · 发布时间: 7年前

内容简介:一·、Go语言的官方网站二、安装Go语言

一·、 Go 语言的官方网站

https://golang.org/dl/

二、安装Go语言

Linux版本:

tar zxf go1.11.4.linux-amd64.tar.gz
mv go /usr/local/

三、设置GOPATH和GOROOT环境变量

vim /etc/profile

增加这三行:

export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
export GOPATH=$GOROOT/gocode

使其生效:source /etc/profile

四、验证

执行:go version

go version go1.11.4 linux/amd64

五、Go环境变量介绍

执行:go env

GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/local/go/gocode/"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""386、
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build119196690=/tmp/go-build -gno-record-gcc-switches"

GOROOT="/usr/local/go" //表示Go在服务器上安装位置

GOPATH="/usr/local/go/gocode/" //表示Go语言的工作目录

GOARCH="amd64" //表示机器的处理器架构,值可以是:386、amd64、arm

GOOS="linux" //表示当前机器的操作系统,值可以是:darwin、freebsd、 linux 、windows(其中darwin就是mac系统)

GOBIN="" //表示编译器和链接器的安装位置,默认位置是 $GOROOT/bin,一般情况下你可以将它的值设置为空,Go 将会使用前面提到的默认值

六、Go语言源码路径说明

[root@Go ~]# ls -l /usr/local/go
total 180
drwxr-xr-x  2 root root   258 Dec 15 07:36 api
-rw-r--r--  1 root root 55284 Dec 15 07:36 AUTHORS
drwxr-xr-x  2 root root    42 Dec 15 07:48 bin
-rw-r--r--  1 root root  1339 Dec 15 07:36 CONTRIBUTING.md
-rw-r--r--  1 root root 71070 Dec 15 07:36 CONTRIBUTORS
drwxr-xr-x  8 root root  4096 Dec 15 07:36 doc
-rw-r--r--  1 root root  5686 Dec 15 07:36 favicon.ico
drwxr-xr-x  2 root root     6 Jan 23 15:30 gocode
drwxr-xr-x  3 root root    18 Dec 15 07:36 lib
-rw-r--r--  1 root root  1479 Dec 15 07:36 LICENSE
drwxr-xr-x 15 root root   202 Dec 15 07:48 misc
-rw-r--r--  1 root root  1303 Dec 15 07:36 PATENTS
drwxr-xr-x  9 root root   199 Dec 15 07:48 pkg
-rw-r--r--  1 root root  1607 Dec 15 07:36 README.md
-rw-r--r--  1 root root    26 Dec 15 07:36 robots.txt
drwxr-xr-x 46 root root  4096 Dec 15 07:36 src
drwxr-xr-x 22 root root  8192 Dec 15 07:48 test
-rw-r--r--  1 root root     8 Dec 15 07:36 VERSION

1)bin目录

-rwxr-xr-x 1 root root 13057654 Dec 15 07:38 go
-rwxr-xr-x 1 root root 16006569 Dec 15 07:48 godoc
-rwxr-xr-x 1 root root  3373518 Dec 15 07:38 gofmt

包含可执行文件,如:编辑器、Go工具

2)doc目录

drwxr-xr-x 3 root root     85 Dec 15 07:36 articles
-rw-r--r-- 1 root root  33541 Dec 15 07:36 asm.html
-rw-r--r-- 1 root root   3006 Dec 15 07:36 cmd.html
-rw-r--r-- 1 root root  16933 Dec 15 07:36 code.html
drwxr-xr-x 2 root root    202 Dec 15 07:46 codewalk
-rw-r--r-- 1 root root   8701 Dec 15 07:36 conduct.html
-rw-r--r-- 1 root root   4586 Dec 15 07:36 contrib.html
-rw-r--r-- 1 root root  36834 Dec 15 07:36 contribute.html
-rw-r--r-- 1 root root  16577 Dec 15 07:36 debugging_with_gdb.html
drwxr-xr-x 2 root root     65 Dec 15 07:36 devel
-rw-r--r-- 1 root root  17573 Dec 15 07:36 diagnostics.html
-rw-r--r-- 1 root root   8865 Dec 15 07:36 docs.html
-rw-r--r-- 1 root root   1405 Dec 15 07:36 editors.html
-rw-r--r-- 1 root root 116452 Dec 15 07:36 effective_go.html
-rw-r--r-- 1 root root   4319 Dec 15 07:36 gccgo_contribute.html
-rw-r--r-- 1 root root  17052 Dec 15 07:36 gccgo_install.html
-rw-r--r-- 1 root root  59265 Dec 15 07:36 go1.10.html
-rw-r--r-- 1 root root  36305 Dec 15 07:36 go1.11.html
-rw-r--r-- 1 root root  40411 Dec 15 07:36 go1.1.html
-rw-r--r-- 1 root root  35000 Dec 15 07:36 go1.2.html
-rw-r--r-- 1 root root  23115 Dec 15 07:36 go1.3.html
-rw-r--r-- 1 root root  33535 Dec 15 07:36 go1.4.html
-rw-r--r-- 1 root root  47800 Dec 15 07:36 go1.5.html
-rw-r--r-- 1 root root  37592 Dec 15 07:36 go1.6.html
-rw-r--r-- 1 root root  43702 Dec 15 07:36 go1.7.html
-rw-r--r-- 1 root root  59014 Dec 15 07:36 go1.8.html
-rw-r--r-- 1 root root  37538 Dec 15 07:36 go1.9.html
-rw-r--r-- 1 root root   7216 Dec 15 07:36 go1compat.html
-rw-r--r-- 1 root root  71461 Dec 15 07:36 go1.html
-rw-r--r-- 1 root root  89479 Dec 15 07:36 go_faq.html
-rw-r--r-- 1 root root   8843 Dec 15 07:36 go-logo-black.png
-rw-r--r-- 1 root root   9360 Dec 15 07:36 go-logo-blue.png
-rw-r--r-- 1 root root  21469 Dec 15 07:36 go-logo-white.png
-rw-r--r-- 1 root root  13497 Dec 15 07:36 go_mem.html
drwxr-xr-x 3 root root   4096 Dec 15 07:36 gopher
-rw-r--r-- 1 root root 204825 Dec 15 07:36 go_spec.html
-rw-r--r-- 1 root root   3128 Dec 15 07:36 help.html
-rw-r--r-- 1 root root     34 Dec 15 07:36 ie.css
-rw-r--r-- 1 root root   9159 Dec 15 07:36 install.html
-rw-r--r-- 1 root root  19777 Dec 15 07:36 install-source.html
drwxr-xr-x 2 root root    131 Dec 15 07:36 play
drwxr-xr-x 2 root root   4096 Dec 15 07:36 progs
-rw-r--r-- 1 root root   4520 Dec 15 07:36 root.html
-rw-r--r-- 1 root root   8411 Dec 15 07:36 security.html
-rw-r--r-- 1 root root   2993 Dec 15 07:36 share.png
-rw-r--r-- 1 root root    360 Dec 15 07:36 tos.html

包含示例程序、代码 工具 、本地文档等

3)lib目录

[root@Go go]# ls -l lib/
drwxr-xr-x 2 root root 59 Jan 24 17:33 time
[root@Go go]# ls -l lib/time/
-rw-r--r-- 1 root root    378 Dec 15 07:36 README
-rwxr-xr-x 1 root root   1367 Dec 15 07:36 update.bash
-rw-r--r-- 1 root root 365101 Dec 15 07:36 zoneinfo.zip

包含文档模板

4)misc目录

drwxr-xr-x  2 root root   64 Dec 15 07:36 android
drwxr-xr-x  2 root root   15 Dec 15 07:36 arm
-rwxr-xr-x  1 root root  110 Dec 15 07:36 benchcmp
drwxr-xr-x 20 root root 4096 Dec 15 07:36 cgo
drwxr-xr-x  3 root root   24 Dec 15 07:36 chrome
-rw-r--r--  1 root root  159 Dec 15 07:36 editors
drwxr-xr-x  2 root root   24 Dec 15 07:36 git
drwxr-xr-x  2 root root   86 Dec 15 07:36 ios
drwxr-xr-x  2 root root   26 Dec 15 07:36 linkcheck
drwxr-xr-x  3 root root  150 Dec 15 07:36 nacl
drwxr-xr-x  2 root root   23 Dec 15 07:36 sortac
drwxr-xr-x  4 root root   35 Dec 15 07:36 swig
drwxr-xr-x  7 root root   79 Dec 15 07:48 tour
drwxr-xr-x  2 root root   53 Dec 15 07:36 trace
drwxr-xr-x  2 root root   71 Dec 15 07:36 wasm

包含与支持Go编辑器有关的配置文件以及cgo的示例

5)src目录

-rwxr-xr-x  1 root root   407 Dec 15 07:36 all.bash
-rw-r--r--  1 root root   726 Dec 15 07:36 all.bat
-rwxr-xr-x  1 root root   385 Dec 15 07:36 all.rc
-rwxr-xr-x  1 root root  2622 Dec 15 07:36 androidtest.bash
drwxr-xr-x  4 root root    28 Dec 15 07:36 archive
-rwxr-xr-x  1 root root  3738 Dec 15 07:36 bootstrap.bash
drwxr-xr-x  2 root root   123 Dec 15 07:36 bufio
-rwxr-xr-x  1 root root  1818 Dec 15 07:36 buildall.bash
drwxr-xr-x  2 root root    24 Dec 15 07:36 builtin
drwxr-xr-x  2 root root   234 Dec 15 07:36 bytes
-rwxr-xr-x  1 root root   521 Dec 15 07:36 clean.bash
-rw-r--r--  1 root root   565 Dec 15 07:36 clean.bat
-rwxr-xr-x  1 root root   380 Dec 15 07:36 clean.rc
drwxr-xr-x 24 root root   289 Dec 15 07:36 cmd
-rw-r--r--  1 root root  1519 Dec 15 07:36 cmp.bash
drwxr-xr-x  8 root root    83 Dec 15 07:36 compress
drwxr-xr-x  5 root root    42 Dec 15 07:36 container
drwxr-xr-x  2 root root   131 Dec 15 07:36 context
drwxr-xr-x 20 root root   275 Dec 15 07:36 crypto
drwxr-xr-x  3 root root    17 Dec 15 07:36 database
drwxr-xr-x  8 root root    82 Dec 15 07:36 debug
drwxr-xr-x 13 root root   161 Dec 15 07:36 encoding
drwxr-xr-x  2 root root    68 Dec 15 07:36 errors
drwxr-xr-x  2 root root    45 Dec 15 07:36 expvar
drwxr-xr-x  2 root root   115 Dec 15 07:36 flag
drwxr-xr-x  2 root root   176 Dec 15 07:36 fmt
drwxr-xr-x 14 root root   173 Dec 15 07:36 go
drwxr-xr-x  6 root root   201 Dec 15 07:36 hash
drwxr-xr-x  3 root root   151 Dec 15 07:36 html
drwxr-xr-x  9 root root  4096 Dec 15 07:36 image
drwxr-xr-x  3 root root    33 Dec 15 07:36 index
drwxr-xr-x 12 root root   194 Dec 15 07:36 internal
drwxr-xr-x  3 root root   146 Dec 15 07:36 io
-rwxr-xr-x  1 root root  2116 Dec 15 07:36 iostest.bash
drwxr-xr-x  3 root root    76 Dec 15 07:36 log
-rwxr-xr-x  1 root root  6339 Dec 15 07:36 make.bash
-rw-r--r--  1 root root  3946 Dec 15 07:36 make.bat
-rw-r--r--  1 root root   553 Dec 15 07:36 Make.dist
-rwxr-xr-x  1 root root  3136 Dec 15 07:36 make.rc
drwxr-xr-x  6 root root  8192 Dec 15 07:36 math
drwxr-xr-x  5 root root  4096 Dec 15 07:36 mime
-rwxr-xr-x  1 root root  1255 Dec 15 07:36 naclmake.bash
-rwxr-xr-x  1 root root  1216 Dec 15 07:36 nacltest.bash
drwxr-xr-x 10 root root  8192 Dec 15 07:36 net
drwxr-xr-x  5 root root  4096 Dec 15 07:39 os
drwxr-xr-x  3 root root   117 Dec 15 07:36 path
drwxr-xr-x  2 root root    70 Dec 15 07:36 plugin
-rwxr-xr-x  1 root root   976 Dec 15 07:36 race.bash
-rw-r--r--  1 root root  1037 Dec 15 07:36 race.bat
drwxr-xr-x  2 root root  4096 Dec 15 07:36 reflect
drwxr-xr-x  4 root root   232 Dec 15 07:36 regexp
-rwxr-xr-x  1 root root  1681 Dec 15 07:36 run.bash
-rw-r--r--  1 root root  1147 Dec 15 07:36 run.bat
-rwxr-xr-x  1 root root   418 Dec 15 07:36 run.rc
drwxr-xr-x 10 root root 16384 Dec 15 07:36 runtime
drwxr-xr-x  2 root root   334 Dec 15 07:36 sort
drwxr-xr-x  3 root root  4096 Dec 15 07:36 strconv
drwxr-xr-x  2 root root   333 Dec 15 07:36 strings
drwxr-xr-x  3 root root  4096 Dec 15 07:36 sync
drwxr-xr-x  3 root root 12288 Dec 15 07:36 syscall
drwxr-xr-x  5 root root   335 Dec 15 07:36 testing
drwxr-xr-x  5 root root    54 Dec 15 07:36 text
drwxr-xr-x  2 root root  4096 Dec 15 07:36 time
drwxr-xr-x  4 root root   252 Dec 15 07:36 unicode
drwxr-xr-x  2 root root    23 Dec 15 07:36 unsafe
drwxr-xr-x  3 root root    24 Dec 15 07:36 vendor

包含源代码构建脚本和标准库的包的完整源代码

6)src/cmd目录

drwxr-xr-x  2 root root   46 Dec 15 07:36 addr2line
drwxr-xr-x  3 root root   73 Dec 15 07:36 api
drwxr-xr-x  3 root root   51 Dec 15 07:36 asm
drwxr-xr-x  2 root root   38 Dec 15 07:36 buildid
drwxr-xr-x  2 root root  130 Dec 15 07:36 cgo
drwxr-xr-x  3 root root   87 Dec 15 07:36 compile
drwxr-xr-x  3 root root  121 Dec 15 07:41 cover
drwxr-xr-x  2 root root 4096 Dec 15 07:38 dist
drwxr-xr-x  3 root root   85 Dec 15 07:36 doc
drwxr-xr-x  2 root root 4096 Dec 15 07:36 fix
drwxr-xr-x  4 root root  258 Dec 15 07:43 go
drwxr-xr-x  3 root root  149 Dec 15 07:36 gofmt
drwxr-xr-x 15 root root  178 Dec 15 07:36 internal
drwxr-xr-x  3 root root  115 Dec 15 07:36 link
drwxr-xr-x  2 root root   73 Dec 15 07:36 nm
drwxr-xr-x  3 root root   60 Dec 15 07:36 objdump
drwxr-xr-x  2 root root   55 Dec 15 07:36 pack
drwxr-xr-x  2 root root   71 Dec 15 07:36 pprof
drwxr-xr-x  2 root root   21 Dec 15 07:36 test2json
drwxr-xr-x  2 root root  184 Dec 15 07:36 trace
drwxr-xr-x  4 root root   95 Dec 15 07:36 vendor
drwxr-xr-x  5 root root 4096 Dec 15 07:41 vet

包含Go和C的编辑器和命令行脚本


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax Design Patterns

Ajax Design Patterns

Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99

Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具