关于Gol语言的概览

mac2026-06-07  5

文章目录

1. go语言概述1.1 golang的语言特点1.2 go语言适合做什么1.4 go语言学习资料参考1.4.1 网络资料1.4.2 推荐书籍 2. go程序是怎么运行起来的?2.1 GO语言的开发环境2.2 GOPATH 简单说明2.3 go语言标准命令概述2.4 第一个go语言程序

1. go语言概述

Go语言是在2009年11月10日 由Google开源的一门编程语言.号称是"21世纪的C语言"

Go 语言(或称 Golang)是云计算时代的 C 语言。 Go 语言的诞生是为了让程序员有更高的 生产效率, Go 语言专门针对多处理器系统应用程序的编程进行了优化,使用 Go 编译的程 序可以媲美 C 或 C++代码的速度,而且更加安全、支持并行进程。

1.1 golang的语言特点

从C语言中继承了很多设计理念,如表达式语法,结构控制,基础数据类型,传值,指针

开放源代码 ,Go本身是用Go语言编写的

是静态型和编译型

引入 包 的概念,用于组织程序结构

自动垃圾回收,一般由Go运行时系统负责

天然支持并发

从语言层面就支持并发,使用很简单

goroutine,协程,高效利用CPU

基于CSP并发模型

采用管道通信机制,通过管道channel 实现不同goroutine之间的相互通信

函数可以多返回值

新颖的slice 和defer语句引入

go编写的程序可以直接编译成机器码,不依赖其他库,以及跨平台编译

内置强大的工具链

丰富的标准库, 特别是网络库很强大

内嵌C代码支持

语法简单,代码风格强制统一

1.2 go语言适合做什么

区块链应用服务器编程,如: 处理日志,文件系统,数据打包,虚拟机处理网络编程 ,如API应用,web应用,下载应用分布式系统云平台/云服务后端开发内存数据库

1.4 go语言学习资料参考

1.4.1 网络资料

Go语言中文网

Go语言中文文档

Go语言标准库中文文档

Go语言圣经(中文版)

Go中国技术社区

Golang技术论坛

1.4.2 推荐书籍

《Go程序设计语言》

《Go语言学习笔记》

《Go并发编程实战》

2. go程序是怎么运行起来的?

2.1 GO语言的开发环境

无论是Windows 环境或者是Linux环境,亦或是Mac 环境都需要下载Go语言的 SDK ,下载地址如下 Go安装包下载地址 ,具体安装细节参看 安装说明

安装包安环好之后有两个环境变量需要注意(GO语言开发这两个环境变量一定要配置好)

GOROOT : Go语言SDK的安装路径需要配置到系统环境变量中去GOAPTH : Go语言项目的存放路径,也就是工作目录

搭建开发环境

window10 系统 搭建步骤(window10 下搭建相对简单)

从 golang中国 下载window的安装包(注意是32位还是64位系统)

下载的安装包可以直接安装(记住自己的安装路径,在配置系统环境变量的时候用到,安装路径尽量不要带中文 )

配置系统环境变量

Ubuntu18

下载安装包文件

wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz

安装文件文件

mv go1.12.7.linux-amd64.tar.gz /opt sudo tar -zxvf go1.12.7.linux-amd64.tar.gz

配置Golang环境变量

vim /etc/profile

使用vim打开profile文件,并在文件内容最末端添加如下内容

export GOROOT=/opt/go export PATH=$PATH:$GOROOT/bin export GOPATH=$HOME/goproject

重新登录一下再验证golang环境是否安装成功

go env GOARCH="amd64" GOBIN="" GOCACHE="/home/gong/.cache/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/gong/goproject" GOPROXY="" GORACE="" GOROOT="/opt/go" GOTMPDIR="" GOTOOLDIR="/opt/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" 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-build199119735=/tmp/go-build -gno-record-gcc-switches"

2.2 GOPATH 简单说明

GOPATH设置的工作空间,简单的说工作空间是一个对应特定工程的目录,它通常包含src目录,pkg目录,和bin目录src目录:用于以代码包的形式组织并保存Go源码文件pkg目录:用于存放经由go install命令构建安装后的代码包bin目录:与pkg目录类似,在通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。

2.3 go语言标准命令概述

bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix update packages to use new APIs fmt gofmt (reformat) package sources generate generate Go files by processing source get download and install packages and dependencies install compile and install packages and dependencies list list packages or modules mod module maintenance run compile and run Go program test test packages tool run specified go tool version print Go version vet report likely mistakes in packages

2.4 第一个go语言程序

GOPATH 指向目录的src目录下新建一个文件,文件名HelloWorld.go ,文件内容如下 package main // 导入fmt包 import "fmt" func main() { fmt.Println("hello world") }

代码片段分析

go语言编写的包含代码的文件的后缀是 .go

package main 每个go源代码文件的开头都是package声明的, 指明该文件属于哪个包,go语言的代码是使用包来组织的,包类似于其他编程语言中的库和模块,一个包由一个或者多个.go的源文件组成,放在一个文件夹中,文件夹的名称一般描述了包的作用

import “fmt” 引入一个叫做"fmt"的包,引入该包之后,可以使用fmt包中的函数,例如:fmt.Println()

func main(){

} func是一个关键字,表示函数 main是函数名,main函数在go语言中有特殊的作用,main函数表示主函数,也就是整个程序的入口函数

要生成Go可执行程序,必须建立一个名字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点)

go语言中的main()函数, 不能传递参数,也不能定义返回值

go语言程序中的注释有两种

一种是 /* 块注释 */

另一种是 // 行注释

在cli 命令行下执行

$ go run HelloWorld.go hello world 通过 go run 命令可以直接运行 .go程序(类似执行一个脚本)通过 go build 命令可以对 .go文件进行编译,生成.exe文件
最新回复(0)