本文介绍SpringBoot相关内容。和【跨考菌】一起加油吧~
如果你有收获,记得帮博主一键三连哦😊
1 golang概述
1.1 golang创造的原因
1.2 golang的特点
Go 语言保证了既能到达静态编译语言的安全和性能(C语言), 又达到了动态语言开发维护的高效率(python), 使用一个表达式来形容 Go 语言: Go = C + Python , 说明 Go 语言既有 C 静态语言程
序的运行速度, 又能达到 Python 动态语言的快速开发。
1)从 C 语言中继承了很多理念, 包括表达式语法, 控制结构, 基础数据类型, 调用参数传值, 指针
等等, 也保留了和 C 语言一样的编译执行方式及弱化的指针
举一个案例(体验):
//go 语言的指针的使用特点(体验)
func testPtr(num *int) {
*num = 20
}
2)引入包的概念, 用于组织程序结构, Go 语言的一个文件都要归属于一个包, 而不能单独存在。
3)垃圾回收机制, 内存自动回收, 不需开发人员管理
4)天然并发 (重要特点)
(1) 从语言层面支持并发, 实现简单
(2) goroutine, 轻量级线程, 可实现大并发处理, 高效利用多核。
(3) 基于 CPS 并发模型(Communicating Sequential Processes )实现
5)吸收了管道通信机制, 形成 Go 语言特有的管道 channel 通过管道 channel , 可以实现不同的 goroute之间的相互通信。
6)函数可以返回多个值。 举例:
//写一个函数, 实现同时返回 和, 差
//go 函数支持返回多个值
func getSumAndSub(n1 int, n2 int) (int, int ) {
sum := n1 + n2 //go 语句后面不要带分号.
sub := n1 - n2
return sum , sub
}
7)新的创新: 比如切片 slice、 延时执行 defer
2 golang安装
2.1 window安装golang
下载zip包,解压到指定目录。我解压在D:\develop\golang
目录中。
下面是目录下的文件夹的功能介绍:
其中,bin下的文件如下:
配置环境变量:
go开发中需要配置的环境变量有:
测试安装成功:**
2.2 linux安装golang
下载对应的安装包并上传到linux服务器:
我是解压到下面的目录了:
配置环境变量:vim /etc/profile
export GOROOT=/opt/golang/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/opt/gopath
让配置文件立即生效:
source /etc/profile
测试:
3 go-hello-world及开发注意事项
3.1 hello-world
在文件夹下编写hello.go文件:
内容如下:
package main
import "fmt"
func main(){
fmt.Println("hello,world")
}
说明:
- go文件的后缀必须是go
package main
,每个go文件必须都归属于某一个包import fmt
,引入fmt包
go build
编译:go build hello.go
,在hello.go文件所在位置出现了编译后的文件hello.exe
运行:hello.exe
go run
编译+运行:go run hello.go
3.2 编译和运行说明
- go build生成的可执行文件可以直接再没有安装go环境的机器上运行;
- go run 源代码。如果需要在其他机器上运行,则需要提前安装好go环境;
- 编译之后,编译器会把运行依赖的库文件包含在exe可执行文件中,所以可执行文件变大了。
3.3 go开发注意事项
- 语句后面不需要分号
- 不能将多条语句放在同一行,否则报错:
- 定义的变量或者 import 的包如果没有使用到, 代码不能编译通过。
3.4 go转义字符
- \t : 表示一个制表符, 通常使用它可以排版。
- \n : 换行符
- \\ : 一个\
- \" : 一个"
- \r : 一个回车 fmt.Println(“天龙八部雪山飞狐\r 张飞”);
4 golang基础语法
4.1 注释
和java语言类似,golang也提供了2类注释:行注释和块注释。
行注释:
块注释:
/*
注释内容
*/
4.2 代码规范
代码格式化
gofmt可以格式化代码
gofmt go文件名
会将格式化后的内容输出到控制台,但是不会将格式化后的内容写入原文件。
gofmt -w go文件名
会将格式化后的内容写入到原文件。