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 许可协议,转载请注明出处。