go基础
文章平均质量分 59
go基础
玄德公笔记
赠人玫瑰,手有余香。
展开
-
正则表达式
1. 标准正则2. 扩展正则3. POSIX字符类原创 2021-09-18 14:19:06 · 165 阅读 · 0 评论 -
GO语言基础-01-包引用和引用顺序
1. 包引用1.1 引用1.2 golang标准库文档2. 包引用顺序2.1 函数执行顺序2.2 引用顺序测试代码结果输出原创 2021-08-16 23:02:31 · 357 阅读 · 0 评论 -
GO语言基础-02-运算符号、标识符、注释、关键字(数学运算符、关系运算符、逻辑运算符、位运算符、赋值运算、运算符优先级)
1 运算符1.1 算数运算符1.2 关系运算符1.3 逻辑运算符1.4 位运算符1.5 赋值运算1.6 其他1.7 优先级2. 注释2.1 单行注释2.2 多行注释3. 标识符3.1作用3.2 组成3.3 无效标识符4. 关键字4.1 25个关键字4.2 36 个预定义标识符原创 2021-11-16 20:56:34 · 237 阅读 · 0 评论 -
GO语言基础-03-变量和作用域(变量声明、局部变量、全局变量)
1 变量声明1.1标准格式1.2 不声明类型1.3 不声明值(使用默认值)1.4 :=2. 多变量一次声明2.1 相同类型变量2.2 不同类型的变量3. 变量作用域3.1 局部变量3.2 全局变量3.3 形参原创 2021-11-16 21:01:03 · 437 阅读 · 0 评论 -
GO语言基础-04-数据类型概述(整形、浮点型、布尔型、字串型、指针、数组、切片、map类型、结构体、channel、函数类型、接口类型)
1. 数字型1.1 整形- uintN (无符号型)如 uint8, uint16 ,uint32 ,uint64无符号 8 位整型 (0 到 255)- intN(有符号型)N表示位数如 int8 ,int16 ,int32 ,int64有符号 8 位整型 (-128 到 127)1.2 浮点型- float32:32位浮点数- float64:- complex32: 32位实数和虚数- complex64:1.3 其他数字类型- byte类似 uint8- rune原创 2021-11-16 20:59:50 · 657 阅读 · 0 评论 -
GO语言基础-04-数据类型-01-常量[const]
1 概述2 语法2.1 单个常量定义2.2 多个常量定义12.3 多个常量定义23. iota原创 2021-11-16 21:32:58 · 529 阅读 · 0 评论 -
GO语言基础-04-数据类型-02-数组[array](声明数组、数组赋值、遍历数组、数组值修改)
1. 声明数组2. 定义数组- 语法- 完整示例3. 分别定义组中元素- 语法- 示例4. 数组访问4.1 访问数组中元素4.2 遍历数组5. 数组的修改5.1 修改全部数组元素值5.2 修改单个元素值5.3 数组长度不可以更改原创 2022-12-05 14:13:05 · 1241 阅读 · 0 评论 -
GO语言基础-04-数据类型-03-切片[slice](声明切片、初始化切片、切片赋值、切片长度、切片容量、空切片、append、copy)
1. 声明切片2. 初始化切片2.1 切片长度2.1.1 初始化指定长度的切片2.1.2 查看切片长度 len()2.2 切片容量2.2.1 初始化指定容量的切片2.2.2 查看切片长度 len()3 切片赋值3.1 直接赋值3.2 引用数组给切片赋值3.3 引用数组某区间给切片赋值3.4 通过切片赋值给切片4. 空切片5. append()6. copy()原创 2022-12-01 23:19:44 · 1972 阅读 · 0 评论 -
GO语言基础-04-数据类型-04-map(声明map、初始化map、map赋值、遍历map、判断key是否在map中、删除map成员)
1. 声明 map2. 初始化 map3. map赋值3.1 直接声明并赋值3.2 分别定义每一组键值对4. 遍历map5. 判断key是否在map中6. 删除成员(delete())原创 2022-12-06 13:46:02 · 1139 阅读 · 0 评论 -
GO语言基础-04-数据类型-04-map(map的排序)
1. 按value排序 1.1 思路 1.2 语法 1.3 完整示例2. 按key排序 2.1 思路 2.2 语法示例原创 2023-07-17 21:27:40 · 565 阅读 · 0 评论 -
GO语言基础-04-数据类型-05-指针[pointer](声明指针,初始化指针,指针赋值,空指针,指向指针的指针)
1. 声明指针2. 初始化指针3. 指针赋值4. 空指针判断5. 指向指针的指针原创 2022-12-07 10:34:23 · 855 阅读 · 0 评论 -
GO语言基础-04-数据类型-06-通道 [channel](声明通道、初始化通道、通道存取、遍历通道、缓冲区)
1. 声明通道2. 初始化通道3. 通道的存取- 写入数据- 取出数据4. 遍历通道5. 缓冲区原创 2022-12-07 23:15:57 · 331 阅读 · 0 评论 -
GO语言基础-04-数据类型-07-结构体[struct](定义结构体、声明结构体变量、结构体赋值、结构体做参数、结构体指针、结构体嵌套、结构体打印)
1. 定义结构体类型2. 声明结构体变量3. 赋值3.1 用结构体赋值3.2 每个成员分别赋值4. 结构体使用4.1 结构体作参数4.2 结构体指针做参数4.3 二者区别4.4 本质原因5. 结构体嵌套5.1 一个结构体作为另一个结构体的成员1)定义2)赋值和引用3)完整示例5.2 直接引入另一个结构体的所有成员1)定义2)赋值和引用3)完整示例6. 结构体打印6.1 仅打印值6.2 打印成员名和值原创 2022-12-08 21:53:10 · 1273 阅读 · 0 评论 -
GO语言基础-05-循环和语句-if语句(基本应用,错误处理,判断map的key是否存在)
1. if语法完整示例2. if……else……语法完整示例3. 实际应用3.1 错误处理3.2 判断map的key是否存在原创 2022-12-12 19:32:23 · 311 阅读 · 0 评论 -
GO语言基础-05-循环和语句-select语句
1. 概述1.1 作用1.2 和switch比较1.3 执行过程2. 语法示例3. 完整示例原创 2022-12-26 21:11:57 · 973 阅读 · 0 评论 -
GO语言基础-05-循环和语句-switch语句
1. 基本使用2. Type Switch3. fallthrough原创 2021-11-16 21:50:51 · 159 阅读 · 0 评论 -
GO语言基础-05-循环和语句-for循环
1. C语言风格1.1 语法1.2 示例2. 比较2.1 语法2.2 示例3. 无限循环4. Range4.1 数组和切片的范围4.2 map 上的应用4.3 枚举Unicode字符串5. 循环控制5.1 continue5.2 break5.3 goto原创 2021-11-20 23:59:34 · 528 阅读 · 0 评论 -
02-循环和语句-switch语句
1. 基本使用2. Type Switch3. fallthrough原创 2023-02-06 21:58:53 · 135 阅读 · 0 评论 -
GO语言基础-06-函数-01-简单使用
1. 概述2. 定义函数3. 函数调用3.1 被调用函数返回单个值3.2 被调用函数返回多个值原创 2021-11-17 09:46:58 · 128 阅读 · 0 评论 -
GO语言基础-06-函数-02-形参和实参
1. 概述1.1 形参(形式参数)1.2 实参(实际参数)2. 直传递2.1 概念2.2 示例3. 引用传递3.1 概念3.2 示例原创 2021-11-20 23:59:01 · 686 阅读 · 0 评论 -
GO语言基础-06-匿名函数和闭包
1. 匿名函数概念语法示例2. 闭包概念语法语法示例原创 2023-01-11 09:43:32 · 234 阅读 · 0 评论 -
GO语言基础-06-函数-04-递归函数(斐波那契序列、阶乘)
1. 概念2. 示例(阶乘)3. 示例(斐波那契序列)原创 2021-11-20 23:58:19 · 281 阅读 · 0 评论 -
GO语言基础-07-方法
1. 概述2. 简单示例3. 完整示例原创 2021-11-20 23:57:49 · 224 阅读 · 0 评论 -
GO语言基础-08-内建函数-make()、new()
1. make1.1 概述1.2 示例(make切片)1.3 示例(make map)1.4 示例(make 通道)2. new2.1 概念2.2 示例(new 切片)2.3 示例(new和make对比)2.4 示例(new map)2.5 示例(new 结构体)原创 2023-01-10 08:31:50 · 427 阅读 · 0 评论 -
GO语言基础-08-内建函数-append(增加切片成员)
1 作用2. 语法3. 完整示例4. 示例(突破切片容量)原创 2023-01-12 09:11:37 · 160 阅读 · 0 评论 -
GO语言基础-08-内建函数-copy(切片间复制)
1. 作用2. 语法3. 完整示例(切片=》切片)3. 完整示例(源切片长度 > 目标切片长度)原创 2021-08-17 23:11:26 · 188 阅读 · 0 评论 -
GO语言基础-08-内建函数-delete(删除map的成员)
1. 作用2. 语法3. 完整示例原创 2021-08-16 23:03:40 · 297 阅读 · 0 评论 -
GO语言基础-08-内建函数-panic&recover
1. panic概念语法完整示例2. recover概念语法完整示例原创 2023-01-09 08:41:08 · 87 阅读 · 0 评论 -
GO语言基础-09-接口(interface)
1. 接口概念1.1 什么是接口1.2 语法1.3 接口定义流程说明2. 完整示例2.1 定义结构体和方法定义“武将”定义“谋士”2.2 定义接口2.3 使用接口示例原创 2022-10-05 17:04:18 · 947 阅读 · 0 评论 -
07-协程-01-并发
1. 语法go 函数名( 参数列表 )2. 示例1)并发状态package mainimport ( "fmt" "time")func say(s string) { for i := 0; i < 5; i++ { time.Sleep(100 * time.Millisecond) fmt.Println(s) }}//main中一个线程打印5次原创 2021-11-20 23:56:32 · 238 阅读 · 0 评论 -
07-携程-02-携程通讯
1. 代码结构2. gorotine.go不写sleep的话,goland还没有输出程序就结束了。package gorotineimport ( "fmt" "time")//定义两个chanelvar chanInt chan int = make(chan int,10)var timeOut chan bool = make(chan bool)//定义一个函数向通道 发送数据func Send() { time.Sleep(time.Second * 1)原创 2021-08-18 23:23:34 · 115 阅读 · 0 评论 -
07-并发-03-携程同步
1. 代码结构2 gorotine.gopackage gorotineimport ( "fmt" "sync" "time")//定义WG,用sync中的函数来同步数据var WG sync.WaitGroupfunc Read() { for i :=0 ; i<=10 ; i++ { WG.Add(1) }}func Write() { for i :=0 ; i <= 10 ; i++ { time.Sleep(time.Second原创 2021-08-19 00:03:51 · 128 阅读 · 0 评论 -
08-go mod和vendor
文章目录1. go mod创建项目1.2 mod初始化1.3 **重新构建依赖**1.4编译2. vendor2.1 拷贝依赖2.2 使用vendor目录编译1. go mod创建项目创建一个目录root@liubei:/data/goproject/src# mkdir go-testroot@liubei:/data/goproject/src# cd go-test/添加main.gopackage mainimport "github.com/gin-gonic/gin原创 2021-11-24 20:01:39 · 1160 阅读 · 0 评论 -
09-golang连接mysql数据库-01.基本使用(mysql的连接和增删改查)
文章目录1. 连接数据库2. 创建表3. 插入数据4. 查询数据4.1 单行查询4.2 多行查询1. 连接数据库import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")var DBName,_ =sql.Open("mysql","root:40010355@(127.0.0.1:3306)/liubeidb")2. 创建表之后补上go创建表CREATE TABLE `user` ( `id` BIG原创 2021-12-26 17:09:56 · 444 阅读 · 0 评论 -
09-golang连接mysql数据库-02-预处理
1. 查询说明:Prepare() 方法会先将sql语句发送给MySQL服务器,返回一个准备好的状态用于之后的查询和命令。返回值可以同时执行多个查询和命令。定义查询函数type userTab struct { Id int `json:"id"` Name string `json:"name"` Age int `json:"age"`}var UsersInfo []userTabunc PrepareQueryDemo() { UsersInfo = UsersIn原创 2021-12-30 14:15:08 · 390 阅读 · 0 评论 -
09-golang连接mysql数据库-03-sqlx
https://www.cnblogs.com/peteremperor/p/13853759.html文章目录1. 连接数据库2. 查询1. 连接数据库package my_dbimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx")var DbName *sqlx.DBfunc InitDB() (err error) { DbName,_ =sqlx.Connect("mysql"原创 2022-01-03 11:53:28 · 459 阅读 · 0 评论