C++GO语言微服务项目之go语言概述
目录
01-go语言介绍-课程介绍
02-GOPATH-GOROOT配置
03-helloworld详解
04-go语言介绍1
05-go语言特点2
06-go命令-设置git终端方法
01-go语言介绍-课程介绍
## go语言本身
1. 为什么学习go语言?
2. go语言2008年前后由google公司开发,开发人员都是c语言的大佬
3. 2020年4月TIOBE排名12位
4. 开发速度快,执行效率高:
1. 开发速度:c < go < python
2. 效率:python < go < c
5. go语言开发的项目:docker, k8s,区块链项目(以太坊,fabric)
6. 公司开发新项目、旧项目重构:**后台服务器、web服务器** ==》 使用go语言
7. go语言找工作一般都会认为是其他语言转行过来,一般会理解为c语言转行过来的(尤其体现在面试上)
8. go语言在中国的发展格外迅速: 七牛云、滴滴
02-GOPATH-GOROOT配置
## 学习内容
1. 4天go语言语法
2. 8天~10天微服务项目(go语言实现的web框架, redis, mysql, fastdfs, )
# 安装开发环境goland
见安装文档
# go语言与c语言对比
https://hyperpolyglot.org/c //<<==== 重要
03-helloworld详解
go语言: golang
开发工具:goland
# 一、Go语言概述
## 1. 工程管理
### - GOPATH
gopath是所有项目的根路径
go语言的项目,需要有特定的目录结构进行管理,不能随便写,一个标准的go工程需要有三个目录:使用一个名为GOPATH的环境变量来指定:
- src
- 放我们自己的源代码
- bin
- 编译之后的程序之后,使用标准命令go install之后存放位置
- pkg
- 缓存包

04-go语言介绍1
### - GOROOT
存放go语言的标准库sdk: software development kit

配置goland,打开工程

## 2. helloworld 概览
```go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
```
解析:
```go
//每个go程序,都必须有一个 package main
//每个go程序,都是.go结尾的
//go程序中没有.h,没有.o, 只有.go
//一个package,包名,相当于命名空间
//std::cout
package main
//这是导入一个标准包fmt,format,一般用于格式化输出
import "fmt"
//主函数,所有的函数必须使用func 开头
//一个函数的返回值,不会放在func前,而是放在参数后面
//函数左花括号必须与函数名同行,不能写到下一行
func main() {
//go语言语句不需要使用分号结尾
fmt.Println("hello world");
}
```
05-go语言特点2
## 3. go语言特点
1. 没有头文件概念, .go走天下
2. 强类型的语言,编译性语言(pthon是弱类型,解释性语言)
3. 一个go语言的应用程序,在运行的时候是不需要依赖外部库的
1. 把执行时需要的所有库都打包到程序中
2. go程序比较大
3. 如果import的包在程序中没有使用,那么程序不允许编译
4. go语法是不区分平台的,在windows下面也可以编译一个程序,在linux下运行,需要两个环境变量来控制:
1. GOOS:设定运行的平台
1. mac:GOOS=darwin
2. linux: GOOS= linux
3. windows :GOOS=windows
2. GOARCH: 目标平台的体系构架
1. 386: GOARCH=386
2. amd64: GOARCH=amd64
3. arm : GOARCH=arm
3. 
## 4. goland终端配置成shell
06-go命令-设置git终端方法

重新加载一下终端即可:

## 5. go命令(build/run/install/env)
1. 编译.go文件,-o指定生成文件的命令
1. go build -o test.exe main.go xxx.go
2. go build *.go
2. 直接运行程序,不会编译成exe文件
1. go run *.go

3. 安装程序 go install
1. 拿到一个c源码,想自己编译出exe
1. ./configure
2. make
3. make install ===> 将编译好的程序安装到指定的目录/usr/bin
2. 使用go install,可以将应用程序安装到GOBIN下面: $GOPATH/bin
1. go install ==> 需要实现在环境变量中设置GOBIN的目录

4. go env,可以查看当前go的环境变量
5. 如果重新设置了环境变量,需要重新启动goland才能生效