从零开始学习GO语言-搭建Go语言开发环境-快速开发入门小程序

1-1PPQA9545W

目录

下载地址

Go官网下载地址:https://golang.org/dl/

Go官方镜像站(推荐):https://golang.google.cn/dl/

Go中文官方镜像站(推荐) https://studygolang.com/dl

Go学习群: 760606769

版本的选择

Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。

1550814038938

软件包的安装 (case windows )

1559119609731

  • Git 客户端,主要go需要用到第三方包,需要用到Git
  • go1.2*.msi 是go的sdk 开发环境
  • VsCode 是开发代码编辑器 推荐使用

以上安装都是默认进行安装

Linux下安装

go1.11.5.linux-amd64.tar.gz
wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
/usr/local
mkdir -p /usr/local/go  # 创建目录
tar -C /usr/lcoal/go zxvf go1.11.5.linux-amd64.tar.gz. # 解压
sudo/usr/local/
/etc/profile$HOME/.profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
/etc/profile$HOME/.profile$HOME/.profile
~ go version
go version go1.11.5 linux/amd64

配置GOPATH

GOPATH
GOPATHGOPATHsrc
D:\code\go

环境变量

安装完成后

1.打开CMD命令 执行

C:\Users\Thinkpad>go version
go version go1.12.5 windows/amd64

C:\Users\Thinkpad>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Thinkpad\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\project
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\Thinkpad\AppData\Local\Temp\go-build378541758=/tmp/go-build -gno-record-gcc-switches

以上输出说明成功安装GO开发环境

其他配置

在我们 GOPATH=D:\project 目录中新建多个目录: src、pkg、bin

MUL

针对上述目录解释说明:

src:存放源代码;

pkg:存放编译完之后的一些静态库(当执行go install时会将一些静态库存放在该目录下)

bin:存放二进制可执行程序文件

GOPATH意义

你知道设置 GOPATH 有什么意义吗?

你可以把 GOPATH 简单理解成 Go 语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个目录都代表 Go 语言的一个工作区(workspace)。

事实上,由于 Go 语言项目在其生命周期内的所有操作(编码、依赖管理、构建、测试、安装等)基本上都是围绕着 GOPATH 和工作区进行的。

Go项目结构

$GOPATH/srcgo buildgo installgo get$GOPATH/src$GOPATH/bin$GOPATH/pkg
$GOPATH/srcbinpkg

适合个人开发者

GOPATHsrc

个人开发

适合企业开发者

qiye开啊

Golang语言的特点

简介

Go 语言保证了既能到达 静态编译语言的安全和性能,又达到了 动态语言开发维护的高效率,使用一个表达式来形容 Go 语言:Go = C + Python , 说明 Go 语言既有 C 静态语言程序的运行速度,又能达到 Python 动态语言的快速开发。

//go 语言的指针的使用特点(体验)
func testPtr(num *int) {
*num = 20
}
//写一个函数,实现同时返回 和,差
//go 函数支持返回多个值
func getSumAndSub(n1 int, n2 int) (int, int ) {
	sum := n1 + n2 //go 语句后面不要带分号.
	sub := n1 - n2
	return sum , sub
}

Go语言快速开发入门第一个Go程序

1.需求

要求开发一个hello.go程序,可以输出hello world

2.开发的步骤

package main  // 声明 main 包,表明当前是一个可执行程序

import “fmt”  // 导入内置 fmt 包

func main(){  // main函数,是程序执行的入口
	fmt.Println(“Hello World!”)  // 在终端打印 Hello World!
}

对上图说明

(1) go 文件的后缀是 .go

(2) package main

表示该 hello.go 文件所在的包是 main, 在 go 中,每个文件都必须归属于一个包。

(3) import “fmt”

表示:引入一个包,包名 fmt, 引入该包后,就可以使用 fmt 包的函数,比如:fmt.Println

(4) func main() {

}
func 是一个关键字,表示一个函数。
main 是函数名,是一个主函数,即我们程序的入口。
(5) fmt.Println(“hello”)
表示调用 fmt 包的函数 Println 输出 “hello,world”

3 通过 go build 命令对该 go 文件进行编译,生成 .exe 文件.

1559269162368

4 运行 hello.exe 文件即可

1559269222036

5 注意:通过 go run 命令 可以直接运行 hello.go 程序 [类似执行一个脚本文件的形式]

1559269565362

go build

go build

在hello目录下执行:

go build

或者在其他目录执行以下命令:

go build hello

GOPATHhello
hello.exe
hello.exe
D:\project\src\gocode.com\day01\helloworld\helloworld.exe
Hello World!

-o
go build -o heiheihei.exe

go install

go installGOPATHGOPATH

跨平台编译

go build

只需要指定目标操作系统的平台和处理器架构即可:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

go build

Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux 下编译 Mac 和 Windows 平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

Golang 执行流程分析

如果是对源码编译后,再执行,Go 的执行流程如下图

执行-1

如果我们是对源码直接 执行 go run 源码,Go 的执行流程如下图

gorun

两种执行流程的方式区别

  1. 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机
    器上,仍然可以运行
  2. 如果我们是直接 go run go 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发
    环境,否则无法执行。
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了
    很多

Go 程序开发的注意事项

  1. Go 源文件以 “go” 为扩展名。
  2. Go 应用程序的执行入口是 main()函数。 这个是和其它编程语言(比如 java/c)
  3. Go 语言严格区分大小写。
  4. Go 方法由一条条语句构成, 每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体现出 Golang 的简洁性。
  5. Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否
    则报错

1559270209528

  1. go 语言 定义的变量或者 import 的包如果没有使用到,代码不能编译通过。

    1559270259568

Go 语言的转义字符(escape char)

​ 说明:常用的转义字符有如下:
​ 1) \t : 表示一个制表符,通常使用它可以排版。

​ 2) \n :换行符
​ 3) \ :一个
​ 4) " :一个”
​ 5) \r :一个回车 fmt.Println(“天龙八部雪山飞狐\r 张飞”);

练习题

要求:请使用一句输出语句,达到输入图形效果

1559270387310

   package main
   
   import "fmt" //fmt 包中提供格式化,输出,输入的函数.
   func main() {
   	//要求:要求:请使用一句输出语句,达到输入如下图形的效果
   	fmt.Println("姓名\t 年龄\t 籍贯\t 地址\njohn\t20\t 河北\t 北京")
   }

现在,开启你的Go语言学习之旅吧。人生苦短,let’s Go.