1-0. 环境配置
Golang - 环境配置
1 认识go语言
-
go语言(或 Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版
-
go是非常年轻的一门语言,它的主要目标是“兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性
-
可以粗略的认为go = c + python
- 从C语言中继承了很多理念,尤其是指针的运用
1 2 3
func testPtr(num *int) { *num = 20 }
- 引入包的概念,用于组织程序结构。单独的go文件必须存在于package中
- 垃圾回收制度,内存自动回收。
- 语言层面天然支持高并发
使用了
goroutine
的语法,轻量级线程,高效利用多核 - 吸收了管道通信机制,有管道的写法,
channel
的写法,通过管道实现不同goroute之间的相互通信。
2 go的优势
-
做高并发有巨大的优势
-
垃圾自动回收
-
开发简单,开发效率堪比python
-
运行效率高,很适合用作中央服务器的系统编程语言
-
是项目转型的首选语言,很多公司在用go重构代码
-
提供了海量并行的支持,很适合处理游戏相关数据
3 环境准备
-
安装golang jdk –中文在线文档:https://studygolang.com/pkgdoc
-
选择安装,一路next….
-
配置环境变量(可选)
-
安装开发工具
4 创建第一个项目
- GOPATH:go的代码存这里面
- src: 存放源代码
- pkg:存一些中间文件
- bin:存放二进制文件的目录
|
|
5 常见的go命令
|
|
两者的三个主要区别:
- go bulid编译后生成的可执行文件,可以直接拿到同平台下但是没有go开发环境的机器下运行。
- go run不会编译生成可执行文件,不能在没有go开发环境下的其它机器上运行。
- .go的源文件虽然很小,但是编译后会将源代码所依赖的库文件编译进来,导致生成的可执行文件很大。
关于编译的几个参数:
- 编译时可以改变生成的可执行文件的名字
go build -o hello-new hello.go
可执行文件就会叫hello-new
6 在一个平台下生成多个平台运行包
编译之后直接可执行,使用起来非常方便
-
Mac Mac下编译Linux, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
-
Linux Linux下编译Mac, Windows平台的64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
-
Windows Windows下编译Mac, Linux平台的64位可执行程序:
1 2 3 4 5 6 7 8
SET CGO_ENABLED=0 SET GOOS=darwin3 SET GOARCH=amd64 go build main.go SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm
7 Golang的项目目录结构
- 个人

