01.GO基础知识
目录
- 01.GO基础知识
- 1.GO语言的发展历程
- 2.发展历程
- 3.Windowns安装
- 4.VSCode配置
- 5.基础语法
- 5.1 第一段代码
- 5.2 GO执行的流程
- 5.3 语法规则
- 5.4 代码风格
- 5.5 学习网址
 
 
1.GO语言的发展历程
Go语言是谷歌公司于2007年开始开发的一种编程语言,由Robert Griesemer、Rob Pike和Ken Thompson共同设计。具有高效、简洁、安全和并发的特点,适用于网络编程、分布式系统等领域。
 Go语言的设计目标是提供一种简单、高效、可靠的编程语言,适用于大规模分布式系统开发。
2.发展历程
2007年:Go语言的设计开始。
2009年:Go语言的第一个版本发布,同时开源。
2012年:Go语言的第一个稳定版本发布。
2016年:Go语言成为GitHub上最受欢迎的编程语言之一。
2020年:Go语言的最新版本Go 1.15发布。
在中国,Go语言的发展也非常迅速。自从Go语言开源以来,国内就有不少开发者开始关注和使用它。随着互联网的发展,越来越多的公司开始使用Go语言开发后端服务,如腾讯、阿里巴巴、美团等。
同时,国内也有不少Go语言社区和开源项目,如Go中国、GoFrame、Gin等。总体来说,Go语言在中国的发展非常活跃,越来越多的开发者开始学习和使用它,未来也有很大的发展潜力。
3.Windowns安装
- 下载
 安装包下载地址为:https://go.dev/dl/。
 如果打不开可以使用这个地址:https://golang.google.cn/dl/。
- 设置环境变量
 GOROOT 是 Go 语言的安装目录,它指向你的 Go 语言安装的根目录。
 GOPATH 是你的工作区目录,用于存放 Go 语言的源码文件以及安装的第三方包。
- 常见错误
  
4.VSCode配置
-  下载GO插件 
  
-  集成 Code Runner插件 
  
-  单机右键Run code 运行即可 
  
-  vscode 去掉目录折叠 
 setting->User->Features->Explorer:去掉Compact Folders 
5.基础语法
5.1 第一段代码
- 创建代码文件main.go
package main
import "fmt"
func main(){fmt.Println("hello go!")
}
- 执行的时候
 (1)先编译:go build --生成了一个 main.exe
 (2)然后执行main即可,main会运行main.exe
- 执行也可以使用
 (1)go run main.go会直接帮我们编译执行源文件
5.2 GO执行的流程

两种执行方法有什么区别?
 (1)go build 编译后的文件可以在任意平台上执行
 (2)go build -o hello.exe main.go 把main.go 编译成hello.exe
 (3)go run运行的时间明显要比第一种方式长一点点
5.3 语法规则
(1)源文件以go为扩展名
 (2)程序执行的入口是main函数
 (3)严格区分大小写
 (4)方法由一条条语句构成的,每一条语句不需要分号(go会自动给加)这也是设计的初衷简洁
 (5)Go编译器是一行行进行编译的,因此我们就一行就写一条语句,不能把多余的语句写在同一个,否则报错
 (6)定义的变量或者import 的包如果没有使用到,代码就不能通过编译
 (7)大括号都是成对出现
5.4 代码风格
(1)注意缩进
 (2)括号要成对
 (3)运算符两边加空白
 (4)注释:推荐行注释
/*
多行注释
*/// 行注释
(5)不能把大括号改变格式
func main()
{// 这里不能换行// 这样的大括号是有问题的 
}
(6)一行不超过80个字符,超过的话使用加号
var name3 = "sadfasldfjkajsdfjalsdfasdkfjalksjdf" +"测试中故宫撒旦发多少发就发司法解释咖啡机阿克苏的风景"(7)格式化代码
gofmt main.go 打印出正确的格式
gofmt -w main.go 把纠正的格式放在文件中
5.5 学习网址
- 手册:官网接口手册:https://golang.org
- 手册:中文手册 https://studygolang.com/pkgdoc
- 学习网址:包含教学面试各种框架插件等: https://www.topgoer.com/
- 学习网址(推荐):GO编程练习的网址,每节都有示例且可以在线运行: https://tour.go-zh.org/basics/1
- 学习网址:GO编程练习的网址,每节都有示例代码:英文的:https://gobyexample.com/