Golang websocket 客户端

Jackey Golang 26 次浏览 0 评论 ,
基于:github.com/gorilla/websocket 实现 func main() { interrupt := make(chan os.Signal, 1) signal.Notify(interrupt, os.Interrupt) ws := "ws://127.0.0.1:8080/ws" c, _, err := websocket.DefaultDia...

Golang etcd ClientV3 的使用

Jackey Golang 30 次浏览 0 评论 ,
etcdctl基本使用 增加一条数据 etcdctl put "/school/class/name" "helios" 获取一条数据 etcdctl get "/school/class/name" 得到一组数据 etcdctl get "/school/class/" --prefix 得到所有的key etcdctl --keys-on...

HTTP 报文解析

Jackey Golang 114 次浏览 0 评论 ,
获取请求报文 请求报文格式说明 HTTP请求报文由请求行、请求头、空行、请求体四个部分组成,如下图:   请求行 请求行由方法字段和HTTP协议版本字段3个部分组成,他们呢之间使用空格隔开。 HTTP请求方法由GET...

Golang 网络传输

Jackey Golang 221 次浏览 0 评论 , , ,
网络分层架构 典型协议 传输层:常见协议有TCP/UDP协议 应用层:常见的协议有HTTP协议,FTP协议 网络层:常见协议有IP协议,ICMP协议,IGMP协议 网络接口层:常见协议有ARP协议,RARP协议 TCP传输协议(Transmission ...

Golang 条件变量

Jackey Golang 181 次浏览 0 评论 ,
条件变量的作用并不保证同一时刻仅有一个协程(线程)访问某个共享的数据资源,而是在对应的共享数据的状态发生变化时,通知阻塞在某个条件上的协程(线程)。条件变量不是锁,在兵法中不能达到同步的目的,因此条件变量总是与锁一起...

Golang 手撸 json 序列化

Jackey Golang 254 次浏览 0 评论 ,
注意:仅作为学习参考,并没有完整实现所有类型 type User struct { Name string Age int Sex byte `json:"sex"` } type Book struct { ISBN string `json:"isbn"` Name string Price ...

Golang 定时器

Jackey Golang 259 次浏览 0 评论 ,
time.Timer Timer 是一个定时器。代表未来的一个单一事件,你可以告诉timer你要等待多长时间。 type Timer struct { C <-chan Time r runtimeTimer } 它提供一个channel,在定时时间到达之前,没有数据写入timer.C ...

Go 并发编程技术

Jackey Golang 367 次浏览 0 评论 , , ,
概述 简而言之,所谓并发编程是指在一台处理器上“同时”处理多个任务。 随着硬件技术的发展,并发程序变得越来越重要。web服务器会一次处理成千上万的请求。平板电脑和手机app在渲染用户画面同时还会后台执行各种计算任务和网络请...

Golang 执行Shell指令

Jackey Golang 315 次浏览 0 评论 ,
func main() { msg, err := ExecAsRes("ls -al|grep test") fmt.Println(msg, err) } // ExecAsRes 执行shell指令,有返回值 func ExecAsRes(cmd string) (msg string, err error) { param := append([]string{"-...

Golang 递归创建文件路径

Jackey Golang 409 次浏览 0 评论
func main() { err := CreateMutiDir("/Users/jackey/a/b") if err != nil { fmt.Println("创建失败", err) } else { fmt.Println("创建成功") } } // CreateMutiDir 调用os.MkdirAll递归...

Golang 反射

Jackey Golang 415 次浏览 1 评论 ,
什么是反射 在运行期间(不是编译期间)探知对象的类型信息和内存结构、更新变量、调用他们的方法。 如何使用反射 函数的参数类型是interface{},需要在运行时对原始类型进行判断,针对不同的类型采取不同的处理方式。比如json...

Golang MongoDB 分片连接池

Jackey Golang, MongoDB 593 次浏览 0 评论 ,
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readpref" "time" ) var Mong...

Golang 泛型应用

Jackey Golang 943 次浏览 0 评论 ,
声明一个泛型函数 package main import "fmt" func printSlice[T any](s []T){ for _,v := range s{ fmt.Printf("%v\n",v) } } func main(){ printSlice[int]([]int{66,77,88,99,100}) pri...

Golang 调用字符串函数名

Jackey Golang 611 次浏览 0 评论
package main import ( "fmt" "reflect" ) type Animal struct { A string `json:"a"` } func (m *Animal) Eat() { fmt.Println("eat", m.A) } func main() { animal := Animal{ ...
Go