摘要:package main import ( "fmt" "math/rand" "sync" "sync/atomic" "time" ) func example1() { //不要这样写,阻塞就死无法解除,零值nil var c1 chan int fmt.Printf("%d,%d,%v", 阅读全文
day7 golang GMP
2023-04-06 20:44 by dribs, 22 阅读, 0 推荐, 收藏, 编辑
摘要:大名鼎鼎的GMP模型 需要自行学习的知识:进程、线程、协程、多线程、线程池、io多路复用,内核态用户态,,同步阻塞异步非阻塞等等相关知识 代码是在线程中运行的,协程也是,所以当协程阻塞的时候该线程也阻塞了,其他任务就无法调度了,该线程就死了。 如何解决,那就需要让协程自由的在线程中移动,当阻塞的时候 阅读全文
golang面试题单向链表和双向链表
2023-03-20 15:58 by dribs, 44 阅读, 0 推荐, 收藏, 编辑
摘要:甲流难受中,简单发一个链表 1.单项列表 package main import ( "fmt" "strconv" ) type Node struct { value int next *Node } type Linklist struct { len int head *Node tail 阅读全文
golang 自行实现一个base64加密
2023-03-10 14:16 by dribs, 113 阅读, 0 推荐, 收藏, 编辑
摘要:package main import ( "fmt" "strconv" ) const base64table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" func Mybase64(a string) 阅读全文
golang标准库log+第三方zerolog
2023-03-08 21:14 by dribs, 485 阅读, 0 推荐, 收藏, 编辑
摘要:package main import ( "log" "os" ) func main() { log.Printf("%s\n", "Printf") //2023/03/08 21:05:08 Printf log.Println("Println") log.Print("print") / 阅读全文
golang标准库序列化反序列化 json + 第三方msgpack
2023-03-05 09:12 by dribs, 316 阅读, 0 推荐, 收藏, 编辑
摘要:序列化:将内存中对象存储下来,把它变成一个个字节,转为二进制数据 反序列化:将文件的一个个字节恢复成内存中队形。从二进制数据中恢复 字符序列化:json xml 二进制序列化: protocol buffers 、messagepak等 package main import ( "encoding 阅读全文
golang 标准库 目录操作
2023-03-02 21:58 by dribs, 59 阅读, 0 推荐, 收藏, 编辑
摘要:package main import ( "fmt" "io/fs" "io/ioutil" "os" "path/filepath" ) //路径拼接 func example1() { p1 := "a/b" + "/" + "c/d" + "/" + "f" p2 := filepath.J 阅读全文
golang-day1 进制
2023-03-02 19:10 by dribs, 28 阅读, 0 推荐, 收藏, 编辑
摘要:写这个进制的文章目的是为了以后go 类型和对于序列化反序列化做铺垫 进制的表示 十六进制:0x10、0X10 八进制:0o10、0O10。010也行,但不推荐 二进制:0b10、0B10 1000 0001 //二进制 8 4 2 1 8 4 2 1 //转换成16进制对应关系 每4位一段,刚好16 阅读全文
golang-标准库文件操作
2023-02-26 18:00 by dribs, 30 阅读, 0 推荐, 收藏, 编辑
摘要:package main import ( "bufio" "fmt" "os" "strings" ) func example1() { filename := "e:/test.txt" //内容为abc //Open是只读方式打开 实际是调用的OpenFile(name, O_RDONLY, 阅读全文
golang-标准库时间time
2023-02-26 18:00 by dribs, 36 阅读, 0 推荐, 收藏, 编辑
摘要:package main import ( "fmt" "time" ) func main() { t := time.Now() //time.Time time.Date(2023, time.February, 19, 14, 38, 1, 393023500, time.Local) 20 阅读全文