一、GO语言环境安装
(一)Go 语言支持以下系统
- Linux
- FreeBSD
- Mac OS X(也称为 Darwin)
- Windows
安装包下载地址:https://golang.google.cn/dl/
操作系统 | 包名 |
---|
Windows | go1.4.windows-amd64.msi |
Linux | go1.4.linux-amd64.tar.gz |
Mac | go1.4.darwin-amd64-osx10.8.pkg |
FreeBSD | go1.4.freebsd-amd64.tar.gz |
(二)Windows系统下安装
- Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如 go1.15.6.windows-amd64.msi )的安装包来安装。
- 默认情况下 .msi 文件会安装在 c:\Go 目录下,将 c:\Go\bin 目录添加到 Path 环境变量中。切记,添加后需要重启命令窗口才能生效。
- 安装测试:打开命令行执行 go version 查看是否安装成功。
go version
> go version go1.15.6 windows/amd64
- 创建工作目录 D:\GoProject\src,并创建测试用例 test.go 文件代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
- 该文件下进入 cmd 命令,使用 go命令 go run test.go 执行代码,输出结果如下:
D:\GoProject\src>go run test.go
Hello, World!
Tip: 关于文件名,根据本地测试得出以下几点:
- 文件名与包名没有直接关系,不一定要将文件名与包名定成同一个。
- 同一个文件夹下的文件只能有一个包名,否则编译报错。
二、GO语言基础语法
(一)Go 标记
- Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 Go 语句由6个标记组成:
fmt.Println("Hello, World!")
- 6个标记分别是:fmt、. 、Println、(、“Hello, World!”、) 。
(二)行分隔符
- Go 程序中,一行代表一个语句的结束
- Go 程序语句不需要像 C 家族中其他语言一样以分号 ;结尾,Go 编译器会自动完成
- 如果需要将多个语句写在写在一行,则需要使用;人为区分,但实际开发中我们并不鼓励这种做法
fmt.Println("Hello, World!")
fmt.Println("Test:runoob.com")
(三)注释
- 不会被编译,每一个包都有相关注释
- 单行注释是最常见的注释形式,可以在任何地方使用以 // 开头的单行注释
- 多行注释,也叫块注释,均已以
/*
开头,并以 */
结尾
(四)标识符
- 标识符用来命名变量、类型等程序实体。
- 一个标识符实际上就是一个或多个字母(
A~Z
和 a~z
),数字( 0~9
)、下划线 _
组成的序列。 - 第一个字符必须是字母或下划线而不能是数字。
- 以下是有效的标识符:
mahesh kumar abc move_name a_123
myname50 _temp j a23b9 retVal
- 以下是无效的标识符:
● 1ab(以数字开头)
● case(Go 语言的关键字)
● a+b(运算符是不允许的)
(五)字符串连接
package main
import "fmt"
func main() {
fmt.Println("Google" + "Runoob")
}
GoogleRunoob
(六)关键字
- 以下是 Go 代码中会使用到的 25 个关键字或保留字:
- 除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:
- 程序一般由 关键字、常量、变量、运算符、类型和函数 组成
- 程序中可能会使用到这些 分隔符:括号 (),中括号 [] 和大括号 {}
- 程序中可能会使用到这些标点符号**:. 、, 、; 、: 和 …**
(七)Go 语言的空格
var age int;
fruit=apples+oranges;
- 在变量与运算符间加入空格,程序看起来更加美观,如:
fruit = apples + oranges;
三、GO语言数据类型
- Go 编程语言中,数据类型用于声明函数和变量
- 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
(一)数据类型分类
序号 | 类型和描述 |
---|
1 | 布尔型 :布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 |
2 | 数字类型:整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 |
3 | 字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。 |
4 | 派生类型: 包括 指针类型(Pointer)、数组类型、结构化类型(struct)、Channel 类型、函数类型、切片类型、接口类型(interface)、Map 类型 |
(二)数字类型
- Go 也有基于架构的类型,例如:int、uint 和 uintptr。
序号 | 类型和描述 |
---|
1 | uint8:无符号 8 位整型(0 到 255) |
2 | uint16:无符号 16 位整型 (0 到 65535) |
3 | uint32:无符号 32 位整型 (0 到 4294967295) |
4 | uint64:无符号 64 位整型 (0 到 18446744073709551615) |
5 | int8:有符号 8 位整型 (-128 到 127) |
6 | int16:有符号 16 位整型 (-32768 到 32767) |
7 | int32:有符号 32 位整型 (-2147483648 到 2147483647) |
8 | int64:有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) |
浮点型
序号 | 类型和描述 |
---|
1 | float32:IEEE-754 32位浮点型数 |
2 | float64:IEEE-754 64位浮点型数 |
3 | complex64:32 位实数和虚数 |
4 | complex128:64 位实数和虚数 |
(三)其他数字类型
序号 | 类型和描述 |
---|
1 | byte:类似 uint8 |
2 | rune:类似 int32 |
3 | uint:32 或 64 位 |
4 | int:与 uint 一样大小 |
5 | uintptr:无符号整型,用于存放一个指针 |
Keep learning!✨