七叶笔记 » golang编程 » Go语言极简教程 – 第一篇 HelloWorld

Go语言极简教程 – 第一篇 HelloWorld

Go语言

Go语言介绍

Go语言又称Golang,2007年诞生于Google公司,2012年3月发布Golang 1.0。Golang被称为 云计算时代的 C语言 ,它有以下几个特点:

  1. 接近于C语言的性能。
  2. 上手容易。语法较少,容易掌握。
  3. 跨平台。Golang同时支持Windows、MacOS以及 Linux 等三大主流操作系统。
  4. 自动内存管理。Golang运行时自带垃圾回收功能,省去在C语言中手动维护变量生命周期的烦恼。
  5. 支持协程。Golang实现的goroutine从语言层面支持了 协程 ,这也是Golang程序性能一般高于 其它语言 的主要原因之一。协程可以看作是用户态的 线程 、轻量级线程,一个系统级的线程可以运行上千个协程,创建一个协程代价相对于线程也是十分的低廉。

关于Golang具体的特性将在后续文章中叙述,这里暂且略过。

Go环境安装及配置

安装Go可以通过下列方法:

  1. 安装包安装。 官网上提供各个操作系统的安装包。由于一些原因,如无法下载,可以私信我获取安装包。
  2. 源代码安装。限于文章篇幅,具体操作步骤后续文章再介绍。
  3. 对于MacOS还可以通过brew包管理工具安装。

环境配置

执行go version命令,查看当前安装的Go语言版本以验证安装成功。

➜ ~ go version
go version go1.12.5  darwin /amd64 # 此处显示Go语言版本为1.12.5 平台架构为darwin/amd64,即MacOS系统64位版本。
 

设置 环境变量

Go语言编程环境中有几个环境变量特别重要,在Happily coding之前应当先进行设置:

  1. GOROOT。该变量指定了Go语言安装的根目录。Windows系统下会自动设置为Go语言安装目录,默认是c:\Go。Linux系统默认是/usr/local/go。
  2. GOPATH。该变量指定了Go语言编程的工作目录。Windows下默认是%USERPROFILE%\go(即c:\ Users \<user_name>\go), Linux/MacOS下默认是$HOME/go。
  3. GO bin 。该变量指定了 可执行程序 的目录,默认是$GOPATH/bin。执行go install命令时,会将生成的可执行文件放到该目录。通常情况下,会将GOBIN指定的目录添加PATH环境变量中,以便在命令行任意位置运行GOBIN目录中可执行文件。
  4. GOOS。用于设置go build/install等命令的目标操作系统。
  5. GOARCH。用于设置go build/install等命令的目标平台CPU架构。
  6. GOPROXY。设置下载依赖包时的代理服务器地址。go 1.11版本加入了GOPROXY的支持,可以将该环境变量设为。你懂的,谁用谁知道。

最后,可以执行go env命令列出所有的环境变量设置,下面是笔者电脑上的设置。

➜ ~ go env
GOARCH="amd64"
GOBIN=""
GOOS="darwin"
GOPATH="/Users/rocgao/go"
GOPROXY=""
GOROOT="/usr/local/Cellar/go/1.12.5/libexec"
 

第一个Go语言程序- HelloWorld

按照惯例,任何语言都从HelloWorld开始。下面的操作均是在MacOS上完成,其它系统请根据实际情况修改相关命令。

  • 进入环境变量GOPATH指定的目录,该目录下通常会有src、pkg、bin等几个目录。进入src目录,并创建helloworld目录。
➜ ~ cd $GOPATH/src
➜ src mkdir helloworld
➜ src cd helloworld
➜ helloworld pwd
/Users/rocgao/go/src/helloworld
 
  • 创建main.go文件,并输入下列代码
 1 // main.go
 2
 3 package main
 4
 5 import (
 6 "fmt"
 7 )
 8
 9 func main() {
 10 fmt.Println("Hello World!")
 11 }
 
  • 编译和运行。在helloworld目录中执行go build,Go会查找目录及子目录中的所有*.go文件并进行编译,同时根据环境变量GOOS、GOARCH的设置在helloworld目录中生成可执行文件。
➜ helloworld go build # 执行go build命令编译
➜ helloworld ll
total 4128
-rwxr-xr-x 1 rocgao staff 2.0M Jul 13 10:48 helloworld # go build生成的可执行文件
-rw-r--r-- 1 rocgao staff 91B Jul 13 10:47 main.go
➜ helloworld ./helloworld #执行生成的文件,程序输出Hello World!
Hello World!
 

HelloWorld代码解释

程序很简单,只有一个main.go文件,下面来解释一下。

  • 第1行是以//开头。Go语言中,单行内//后面为注释部分。
  • 第3行用package关键字指定了main.go文件所在包名为main。Go语言中,一个可执行程序必须要有一个main函数,并且在main包中。
  • 第4~7行使用import关键字导入Go标准库fmt包。
  • 第9~11行定义了main函数。Go语言中使用func关键来定义函数,且{左花括号必须与函数声明在同一行。
  • 调用fmt.Println函数打印Hellow World。Println函数在标准库的fmt包中。

至此,一个Go语言的HelloWorld程序就写完啦!希望对想成为一名gopher的同学有所帮助~~

相关文章