谷歌资深软件工程师罗布-派克(Rob Pike)表示,"Go让我体验到了从未有过的开发效率."派克表示,和今天的C◆◆或C一样,Go是一种系统语言.他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大."
撰写风格:
在Go中有几项规定,当不匹配以下规定时编译将会产生错误.
每行程序结束后不需要撰写分号(;).
大括号({)不能够换行放置.
if判断式和for循环不需要以小括号包覆起来.Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab.
①1 Go 安装
Go的三种安装方式
Go有多种安装方式,你可以选择自己喜欢的.这里我们介绍三种最常见的安装方式:
Go源码安装:这是一种标准的软件安装方式.对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制.
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等.这种安装方式适合那些熟悉相应系统的用户.
最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理.
Go源码安装
在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具.
在类Unix系统中,需要安装gcc等工具.例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量.
cd go/src
./all.bash
运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功.
上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc.
如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效.
如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量.
当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功
图1.1 源码安装之后执行Go命令的图
如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录.
关于上面的GOPATH将在下面小节详细讲解
Go标准包安装
Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量.
我们此时此刻呢的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型.
Linux系统用户可通过在Terminal中执行命令arch(即uname
-m)来查看系统信息:
Mac 安装
看到类似上面源码安装成功的图片说明已经安装成功
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录.
Linux 安装
假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径.
$GO_INSTALL_DIR.
设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后执行go
Windows 安装
C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码.安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录
C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\ .
验证是否安装成功
在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息.输入
cd %GOROOT%,看是否能进入 Go 安装目录.若都成功,说明安装成功.
不能的话请检查上述环境变量 Path 和 GOROOT 的值.若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤.
第三方工具安装
GVM
gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具.使用起来相当的方便,安装gvm使用如下命令:
bash (curl -s -S -L )
安装完成后我们就可以安装go了:
执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了.
apt-get
Ubuntu是目前使用最多的Linux桌面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把
git mercurial 也安装上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
homebrew
homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把
brew update brew upgrade
brew install go
brew install git
brew install mercurial
刚入门Go语言小白需要注意以下五点:
①.、注意书写代码的一些规范吧,特别是注意大小写、英文标点符号区别等,在特别的位置写上注释.
Go语言也称 Golang,兼具效率、性能、安全、健壮等特性.这套Go语言教程(Golang教程)通俗易懂,深入浅出,既适合没有基础的读者快速入门,也适合工作多年的程序员查阅知识点.
Go 语言
这套教程在讲解一些知识点时,将 Go 语言和其他多种语言进行对比,让掌握其它编程语言的读者能迅速理解 Go 语言的特性.Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验就可以轻松搞定.
Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持.Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程.
因为Go语言没有类和继承的概念,所以它和 Java 或 C◆◆ 看起来并不相同.但是它通过接口(interface)的概念来实现多态性.Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说.所以呢可以说Go语言是一门混合型的语言.
此外,很多重要的开源项目都是使用Go语言开发的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes.Go 是编译型语言,Go 使用编译器来编译代码.编译器将源代码编译成二进制(或字节码)格式;在编译代码时,编译器检查错误、优化性能并输出可在不同平台上运行的二进制文件.要创建并运行 Go 程序,程序员必须执行如下步骤.
保存文件;编译程序;运行编译得到的可执行文件.
这不同于 Python、Ruby 和 JavaScript 等语言,它们不包含编译步骤.Go 自带了编译器,所以呢无须单独安装编译器.
TinyGo是一个为微控制器、WebAssembly(Wasm)和命令行工具等小型场景设计的Go语言编译器.TinyGo重用了Go语言工具和LLVM使用的库,以编译用Go语言编写的程序.目前,该项目在GitHub上已经积累了10.1k的Star.
如下为一个示例程序,当运行在任何支持的带板载LED的主板上时,则会点亮内置LED.
上述程序可以在单片机、Adafruit ItsyBitsy M0微控制器或任何支持的带内置LED的板上进行编译和不需要修改的运行,只要设置正确的TinyGo编译器目标即可.例如,设置如下目标可以编译和点亮 单片机.
项目概述
创建TinyGo项目的初衷是,如果Python可以在微控制器上运行,Go语言当然也应该能够在更低级微设备上运行.
支持设备
更多技术细节请参阅原项目.