Go 简易反向代理服务器

笔记  Go 

package mainimport ("fmt""log""net/http""net/http/httputil""net/url""strings")type Proxy s

Golang值部

笔记  Go 

文章内容来自 《Go101》Go101.org我们称一个Go值分布在不同内存块上的部分为此值的各个值部(value part)。 一个分布在多个内存块上的值含有一个直接值部和若干被此直接值部引用着的间接值部。上面的段落描述了两个类别的Go类型。下表将列出这两个类别(category)中的类型(typ

Golang Map解析

笔记  Go 

Golang Map解析参考资料https://www.bilibili.com/video/BV1hv411x7we/?spm_id_from=333.788.videopod.episodes&vd_source=f7d0ce024b059d57a0319d78217fa104&

Golang 通道

笔记  Go 

Golang 通道通道机制:让并发计算通过通讯来共享内存Go也支持几种传统的数据同步技术,但是只有通道为一等公民。 通道是Go中的一种类型,所以我们可以无需引进任何代码包就可以使用通道。 几种传统的数据同步技术提供在sync和sync/atomic标准库包中。通道类型和值通道可以是双向的,也可以是单

Go 恐慌和恢复

笔记  Go 

panic后可以重复运行package mainimport ( "fmt" "time")func doSomething(name string) { if time.Now().Second()%5 == 0 { // 模拟每5秒触发一

Golang 协程

笔记  Go 

协程的状态协程的生命周期一个处于睡眠中的(通过调用time.Sleep)或者在等待系统调用返回的协程被认为是处于运行状态,而不是阻塞状态。当一个新协程被创建的时候,它将自动进入运行状态,一个协程只能从运行状态而不能从阻塞状态退出。 如果因为某种原因而导致某个协程一直处于阻塞状态,则此协程将永远不会退

Go并发编程-基本并发原语-1.Mutex解决资源并发访问问题

笔记  Go 

Go并发编程-基本并发原语-1.Mutex解决资源并发访问问题多个goroutine同时更新用户信息,同时修改一个数据互斥锁实现机制互斥锁是并发控制的一个基本手段,是为了避免竞争而建立的一种并发控制机制临界区在并发编程中,如果程序的一部分会被并发访问或修改,那么,为了避免并发访问导致的意想不到的结果

go-zero 创建一个简单的 HTTP 服务。

笔记  Go 

编写.api文件type Request {UserName string `json:"username"`PassWord string `json:"password"`}type Response {UserId int

Go获取本机IP

笔记  Go 

package ipimport ("im-backend/utils/logs""net")func GetLocalIP() string {addrs, err := net.InterfaceAddrs()logs.MyLogger.Infoln(&q

用Go实现网关

笔记  Go 

package mainimport ( "encoding/json" "fmt" "io" "net/http" "regexp" "strings")var Se