Go
Go 开源库运行时依赖注入框架 Dependency injection
# Dependency injection 一个Go编程语言的运行依赖注入库。依赖注入是更广泛的控制反转技术的一种形式。它用于增加程序的模块化并使其具有可扩展性。 ## 实例展示(High API): ```golang type A struct { Name string } func New ......
go helloworld 部署到k8s
打包容器shutdown_Dockerfile同级目录执行sudo docker build -t hello:v0.01 -f shutdown_Dockerfile . 导出docker 容器AAA:8.2,8.2表示镜像版本号docker save -o tar名称.tar AAA:8.2 B ......
Go 限制goroutine
限制单位时间内的 goroutine 执行大小 ``` package main import ( "fmt" "time" ) // 限制单位时间内执行次数 func main() { limitChan := make(chan struct{}) recoverChan := make(cha ......
Go 常见问题
# Go常见问题 ### 问题: go.mod file not found #### 现象 ```log go.mod file not found in current directory or any parent directory. ``` #### 原因 Go1.16之后引入GoMod, ......
Go 单元测试
# 单元测试 > 在执行单元测试的过程中, 如果被测试的函数中, 引用了较为复杂的函数. > 要确保该引用包中在引用时已被初始化, 避免空出现内存/指针错误等问题~ ## 单元测试编写 ### 测试示例 逻辑代码: `string_handler.go` ```go func stringBuild ......
Go协程常规参考
# Go协程 协程对性能的提升: 程序性能由三者决定: 计算时长, 磁盘IO, 网络IO 协程能有效解决IO问题. 对于计算密集型程序则用处较小. # 1. 最佳协程使用实践 ```go // 子协程 func CoroutineSubFunc(wg *sync.WaitGroup, resultC ......
Go Web
# Go Web 主要介绍Go的net/http包,Gin框架,gRPC。 (多复习,多回顾,多输出) 参考:[Go http 包详解 - 简书 (jianshu.com)](https://www.jianshu.com/p/2cd0dad669ca?u_atoken=2f9399e1-a3e3- ......
Go数据结构
# Go-数据结构 参考整理:[1. 链表: 深入理解container/list&LRU缓存的实现 - Mohuishou (lailin.xyz)](https://lailin.xyz/post/list.html) (提醒:马上要离校,最近在整理本地电脑的笔记,很多东西可能写的有些久,忘记参 ......
Go设计模式
# Go-设计模式 整理参考: [Go设计模式24-总结(更新完毕) - Mohuishou (lailin.xyz)](https://lailin.xyz/post/go-design-pattern.html) [go 设计模式实现,包含 23 种常见的设计模式实现](https://gith ......
Go排序算法小总结
# Go-排序算法 参考整理:[1.0 十大经典排序算法 | 菜鸟教程 (runoob.com)](https://www.runoob.com/w3cnote/ten-sorting-algorithm.html) [shell排序 - Mohuishou (lailin.xyz)](https: ......
Go后端入门学习路径
## 1. Go语言基础 入门看这个: 《Head First Go》、《Go语言编程》以及图片额外书籍任选一本都可以,跟着书籍多敲敲代码,go语言相对C++,java来说,简单很多  { ch1 := make(chan int, 1) ch2 := make(chan int, 1) go func() { time.Sleep(1 * time.Second) ch1 <- 1 }() go func( ......
Go-Map相关
Go中map默认不安全的,也实现了并发安全的对象: // 创建一个 sync.Map 对象 var m sync.Map // 存储数据 m.Store("key1", "value1") m.Store("key2", "value1") // 加载数据 //if value, ok := m.L ......
go关于并发编程的操作
1. 多线程程序在一个核的CPU运行 
## 并发与并行😣 ### 并发与并行的概念和区别 并行:同一个时间段内多个任务同时在不同的CPU核心上执行。强调同一时刻多个任务之间的”**同时执行**“。 并发:同一个时间段内多个任务都在进展。强调多个任务间的”**交替执行**“。 服务器ssh默认最大 ......
go exec.Command windows 参数引号转义问题
Go在windows上调用本地进程传参时的一个天坑 #Golang go在windows上exec.Command调用本地进程在传参的时候有一个天坑,举个栗子来说正常来说一般代码会这么写 ```go cmdLine := "notepad.exe " + `"D:\Program Files\Not ......
go语言math包及标准输入
数值处理 取整 fmt.Println(1/2, 3/2, 5/2) fmt.Println(-1/2, -3/2, -5/2) fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~~~~~") fmt.Println(math.Ceil(2.01), math.Ceil(2.5 ......
Go使用JWT
# Go使用JWT 标签(空格分隔):go,auth,jwt 访问官网 【https://jwt.io/】 jwt生成的token,是三部分组成 由.分割 `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZS ......
【阶段1 Go语言基础】Day04 包管理 常用模块 单元测试
# Day04 ### 作业1 我有一个梦想字母统计 ```go // 我有一个梦想 中出现次数最多的top 10 字符集出现次数 package main import ( "fmt" "sort" ) func main() { article := `abcdabcdabadDDDDDDDED ......
【阶段1 Go语言基础】Day03 函数、错误处理
# day03 #### 函数 ```go package main import "fmt" //导入包(标准包,自定义包,第三方包) //包级别的变量,常量,函数 //无参 无返回值 func sayHello() { fmt.Println("Hello World") } //有参 无返回值 ......
【阶段1 Go语言基础】Day02 数组、切片、切片原理、map、字符串处理/字节切片、排序
## 第二天 ### 流程控制 #### GOTO跳转 ```go package main import "fmt" func main() { fmt.Println("start") goto END fmt.Println("1") END: fmt.Println("end") } /*打 ......
【阶段1 Go语言基础】 Day01 变量、字符串、运算符
## Day01 ### GO运维开发课程介绍 ``` Go语言基础(10天) 1 变量 常量 流程控制 2 数组 切片 map 字符串处理 排序 3 错误处理 panic recover 函数 递归 匿名函数 作用域 闭包 todolist 4 包管理 标准包 单元测试 5 结构体 匿名结构体 匿 ......
Go语言学习之路
【阶段1 Go语言基础篇】Day01 变量、字符串、运算符 【阶段1 Go语言基础篇】Day02 Go语言流程控制、数组、切片、切片原理、map、 【阶段1 Go语言基础篇】Day03 函数基础、错误处理、包管理 【阶段1 Go语言基础篇】Day04 常用内置包 【阶段1 Go语言基础篇】Day05 ......
go语言if、for、switch语句
单分支 if condition { 代码块 } if 5 > 2 { fmt.Println("5 greater than 2") } Go语言中,花括号一定要跟着if、for、func等行的最后,否则语法出错。 condition必须是一个bool类型,在Go中,不能使用其他类型等效为布尔值。 ......