type
status
date
slug
summary
tags
category
icon
password
第一章-初识Go
1. 环境变量设置
| 变量名 | 变量值 | 变量作用 | 
| GOPATH | 暂不用设置 | go语言工作目录,指定存放自己编写的go项目,包,编译的二进制文件等 | 
| GOROOT | d:\Service\go\go1.19 | 指定Go开发包的安装目录 | 
| GO111MODULE | on | 开启Go.mod功能。指定编译go代码时,所需要的依赖包,
直接使用go.mod来下载和管理。 go.mod是go官方依赖包
管理工具 | 
| GOPROXY | https://goproxy.cn | 配置go下载包的代理地址为七牛云的go代理地址。 go依赖
包默认下载地址是国外的,中国访问不了 | 
2. 第一个程序
package main : 必须在源文件中第一行指定该文件属于哪个包
import “fmt”:导入的包,,引入此包后可使用函数 fmt.println()
func main():程序的入口,即函数
3. go run与go build的区别
- go run 命令会编译源码,并执行源码中的main()函数,但不会留下可执行文件
- go build 命令会把源文件编译,并将它所依赖的包打包为可执行文件
- go run 要比go build慢一些,生产环境中要求上传go build 打包的可执行文件
- go build 打包后要比源文件大很多,因为打包依赖了其他文件
- 通过命令行进行编译执行

- o表示指定编译后可执行程序的名字。

执行main.exe

4. 跨平台编译-windows编译linux可执行程序
在开发目录中打开cmd窗口,临时更改环境变量
- 设置静态编译
- 指定编译linux平台二进制程序
- 编译

- 上传linux操作系统并执行

第二章-Go语言变量常量和常见的数据类型
1. Go语言命名规则
- 允许使用字母、数字、下划线
- 不允许数字开头
- 不允许使用关键字命名
- 区分大小写
- 见名知意
1.1. Go语言共有25个关键字:
| var,const | 常量与变量的声明 | 
| package,import | 导入 | 
| return | 用于从函数返回 | 
| defer | 在函数退出之前执行 | 
| go | 用于并行 | 
| select | 用于选择不同类型的通讯 | 
| interface | 定义接口 | 
| struct | 用于定义抽象数据类型 | 
| break、case、continue、for、fallthrough、else、if、switch、goto、default | 流程控制 | 
| chan | 用于channel通讯 | 
| type | 声明自定义类型 | 
| map | 声明map数据类型 | 
| range | 读取slice、map、channel数据 | 
1.2. Go语言有36个预定义
Go语言中有很多预定义的名字,基本在内建的常量、类型和函数中,这些内部预定义的名字并非为关键字,可以重新定义。
2. 变量与常量
2.1. 变量
- var 变量名 数据类型 = 变量值
- var 变量名 数据类型
- 变量名 := 变量值
2.2. 常量
- const 常量名 数据类型 = 值
- const 常量名 = 值
2.3. 常量集(iota)
- iota常量生成器可以使常量初始化,用它生成一组以相似规则初始化的变量
在一个conts生命语句中,第一个声明的常量所在的行,iota会被置为0,每换行一次+1
3. 标准输入输出
3.1. 标准输入
3.2. 标准输出
4. 基本数据类型
| 类型 | 名称 | 长度 | 空值 | 说明 | 
| bool | 布尔类型 | 1 | false | 其值不为真即为假,不可以用数字代表true或false | 
| byte | 字节型 | 1 | 0 | uint8别名 | 
| int, uint | 整型 | - | 0 | 根据操作系统设定数据的值 | 
| int8 | 整型 | 1 | 0 | -128 ~ 127 | 
| uint8 | 整型 | 1 | 0 | 0 ~ 255 | 
| int16 | 整型 | 2 | 0 | -32768 ~ 32767 | 
| uint16 | 整型 | 2 | 0 | 0 ~ 65535 | 
| int32 | 整型 | 4 | 0 | -2147483648 ~ 2147483647 | 
| uint32 | 整型 | 4 | 0 | 0 ~ 4294967295(42亿)
int64 整 | 
| int64 | 整型 | 8 | 0 | -9223372036854775808 ~ 9223372036854775807 | 
| uint64 | 整型 | 8 | 0 | 0 ~ 18446744073709551615(1844京) | 
| float32 | 浮点型 | 4 | 0 | 小数位精确到7位 | 
| float64 | 浮点型 | 8 | 0.0 | 小数位精确到15位 | 
| string | 字符串 | - | “” | utf-8字符串 | 
5. 基本数据类型占位符
| bool 占位符 | %t | 
| int、uint占位符 | %d | 
| float32、float64占位符 | %f | 
| byte占位符 | %c | 
| string占位符 | %s | 
- 作者:Sorce
- 链接:http://blog.sqrt7.top/article/go
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。