1 、GO简介&环境搭建

1、Go简介

Go语言起源及其发展:

  1. 2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%, 投入在该项目上。
  2. 2009年11月10日,Go语言以开放源代码的方式向全球发布。
  3. 2011年3月16日,Go语言的第一个稳定(stable)版本r56发布。
  4. 2018 年 8 月 25日,Go语言1.11发布。(目前最新)

核心作者:

  • Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。
  • Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。
  • Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。

优势:
被誉为“21世纪的C语言”的Go语言有着很好的发展前景(但有着面向对象的特性——像混血儿)
特性:自动垃圾回收、丰富的内置类型、支持函数多返回值、错误处理机制、匿名函数和闭包支持、支持类型和接口、并发编程(最强特性)、支持反射、语言交互性(可以与C语言混编)、执行速度媲美C/C++等等。
简而言之,Go语言是一门快速编译,高效执行,易于开发的系统级编程语言。非常适用于web服务器开发、也很适用于游戏服务端,区块链系统是分布式系统——也是Go语言的拿手好戏,是云计算时代的第一语言。当然了,Go语言开源免费,更是出身于名门望族,来日可期啊!!!

相关网站:
官方网站:golang.org
在GitHub:github.com/golang/go
谷歌邮件列表 golang-nuts
在 Google App Engine 的应用的邮件列表: google-appengine-go
Twitter 的官方帐号:@golang

2、环境搭建

语言包下载:
官网:https://golang.org/dl/
国内:https://golang.google.cn/dl/
语言包分为三大类:源码包(Sorce)、免安装包(Archive)、安装包(Installer)
根据操作系统的不同自行选择:Windows、Linux、Mac OS X(Darwin)、FreeBSD
安装配置:
Linux/Mac OS X/FreeBSD:
下载xxx.tar.gz(Mac OS X也可以是.pkg文件)
解压至/root/go目录:
tar -xzf go1.4.linux-amd64.tar.gz -C /usr/local(x:解开一个压缩档案的参数指令
-z:是否需要用gzip压缩?-f:使用档名,请留意,在 f 之后要立即接档名不能再加参数!)
(实际上go会默认假定它被安装到/root/go目录下,也就是说不需要指定解压路径)

通过工具(如vi)编辑文件$Home/.bashrs或$Home/.profile来配置环境变量
环境变量:

export GOROOT=\$HOME/go //安装路径
export PATH=\$PATH:\$GOROOT/bin  //编译器和链接器的安装位置
export GOPATH=\$HOME/project  //工作目录,可以配置多个

Windows:
可以选择下载安装包(.msi),安装路径可以自己定义,笔者自己自定义路径后(go—1.11版本)GOOROOT和PATH变量会自动配置,自己只需要配置GOPATH路径。(在系统——高级系统设置——环境变量下设置)

目录简介:
安装目录下:
api——go语言api的特性说明
bin——包含go语言编译器、go格式化工具以及go文档工具
doc——包含示例程序、代码工具、本地文档等
lib——文档模板
misc——相关配置文件及cgo示例
pkg——相关包文件
src——go语言源码
工作目录下:
bin——放编译后的可执行文件
pkg——放编译后的文件
src——放源文件
(一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可)

常见集成开发环境:

  • Sublime text
  • Intype
  • LiteIDE
  • Eclipse
  • Zeus
  • Goland

Helloworld(windows):
在工作目录的src目录下创建项目(如demo文件夹)并创建一个hello.go的文件编辑代码:

package main
import  "fmt"
func main(){    
 fmt.Println("hello,world!")
}

在hello.go文件目录下打开命令行输入:go run hello.go,可以看到打印出:hello,world!

Go语言几大命令:
go build:
主要用于测试编译。此命令会编译当前目录下的含有main函数的main文件,其他一概忽略,无参数时以父目录为名生成exe文件,加上文件名如go build hello.go则生成hello.exe文件。若存在a_linux.go与a_windows.go,在Windows操作系统上自动忽略前者。
go install:
与go install的区别在于:与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录,如果是首次,则自动创建相应目录。编译后的可执行文件放在bin目录下,依赖包放在pkg/$GOOS_$GOARCH目录下。
go get:
借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装,如同安装app。
go get github.com/xxxxxx/xxxxx = git clone <版本库网址> <本地储存目录>+go install
go run:
编译并运行程序,只会产生临时文件。
gofmt:
格式化代码,大部分IDE都会在编译前调用这个命令。
godoc:
文档查看,如查看fmt包:godoc fmt。获取文档注释:go doc packagename。也可以在本地建立一个官网复制版网站:godoc -http=:8080,在浏览器中打开127.0.0.1:8080即可。
go env:
查看环境变量。

猜你喜欢

转载自blog.csdn.net/ao__ao/article/details/83418657
今日推荐