![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang
文章平均质量分 59
Alwaysion
more persistent for nothing
个人qq:790693499,欢迎来交流
展开
-
go代码知识点整理
取两数之间的随机数//取[left,right内的随机整数]func genRand(left,right int)int { random.Seed(time.Now().UnixNano()) return random.Intn(right-left+1)+left //[0,right-left+1)+left=[left,right+1)}原创 2021-03-11 22:47:42 · 665 阅读 · 0 评论 -
指定goroutine启动的运算核数以及得到cpu数
func main() { n := runtime.GOMAXPROCS(1) //指定以1核运算 //n := runtime.GOMAXPROCS(2) //指定以4核运算 fmt.Println("n = ", n) fmt.Println("numcpu",runtime.NumCPU()) for i:=0;i<20;i++{ go fmt.Print(1) fmt.Print(0) }}...原创 2021-03-10 22:27:59 · 440 阅读 · 0 评论 -
Go实现简单的UDP服务端客户端通信(无黏包)
目录客户端代码服务端代码UDP协议(User Datagram Protocol)中文名称是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,不需要建立连接就能直接进行数据发送和接收,属于不可靠的、没有时序的通信,但是UDP协议的实时性比较好,通常用于视频直播相关领域。客户端代码// UDP 客户端func main() { socket, err := net.DialUDP("udp", nil, &ne原创 2020-12-03 20:37:13 · 420 阅读 · 0 评论 -
Go实现简单的TCP服务端客户端通信(有黏包)
目录客户端代码服务端代码封包协议客户端代码// socket_stick/client2/main.gofunc main() { conn, err := net.Dial("tcp", "127.0.0.1:30000") if err != nil { fmt.Println("dial failed, err", err) return } defer conn.Close() for i := 0; i < 20; i++ { msg := `Hello, He原创 2020-12-03 20:04:27 · 338 阅读 · 0 评论 -
Go实现简单的TCP服务端客户端通信(无黏包)
目录原创 2020-12-02 22:06:03 · 375 阅读 · 0 评论 -
【几种方式实现goroutine池(worker pool)】b站qimi课程
目录题目描述题解1.限制生成个数,有缓冲区2.不限制生成个数,有缓冲区3.不限制生成个数,无缓冲区题目描述使用goroutine和channel实现一个计算int64随机数各位数和的程序。开启一个goroutine循环生成int64类型的随机数,发送到jobChan开启24个goroutine从jobChan中取出随机数计算各位数的和,将结果发送到resultChan主goroutine从resultChan取出结果并打印到终端输出题解1.限制生成个数,有缓冲区package main原创 2020-12-01 10:29:26 · 394 阅读 · 0 评论