go并发-采用最快回应

笔记  Go 

package mainimport ("fmt""math/rand""time")func fetchData(server string, ch chan<- string) {time.Sleep(time.Duration(

基于worker pool实现计算num的平方

笔记  Go 

package mainimport ("fmt""sync")func worker(ch <-chan int, result chan<- int) {defer wg.Done()for v := range ch {result <

基于worker pool实现并发下载图片

笔记  Go 

package mainimport ("fmt""io""log""net/http""os""path/filepath""strings""sy

go race detector

笔记  Go 

package mainimport ("fmt""sync")var mutex sync.Mutexfunc main() {var count = 0var wg sync.WaitGroupwg.Add(10)for i := 0; i < 10

go切片扩容机制

笔记  Go 

go切片扩容机制:当len > cap的时候,就会触发扩容如果预期的新容量超过原来老容量的两倍,就直接采用预期的新容量。如果老容量小于256, 如果预期的新容量小于原来老容量的两倍,就用老容量的两倍作为新容量如果老容量已经大于等于256,那么新容量就是5/4 * 老容量 + 192,持续这样处

Go 泛型

笔记  Go 

求切片长度package mainimport "fmt"func Length[T any](s []T) int {return len(s)}func main() {s := []int{1, 2, 3, 4, 5}fmt.Println(Length[int](s))s

Go comparable

笔记 

在 Go 语言中,comparable 是一个内置的类型约束(type constraint),用于在泛型(Generics)中限制类型参数只能是可比较的类型。它允许编译器确保类型参数支持 == 和 != 运算符的比较操作。以下是关于 comparable 的详细说明:1. 什么是可比较的类型?co

Go slices库

笔记  Go 

Go 1.21新增的 slices 包提供了很多和切片相关的函数slices.BinarySearchpackage mainimport ("fmt""slices")func main() {nums := []int{1, 3, 5, 7, 9}// 查

PostgrelSQL docker安装

笔记 

sudo docker run --name pgsql -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d bitnami/postgresql:latest

LeetCode LRU算法实现

笔记 

type Node struct {key, val intnext, prev *Node}func NewNode(k, v int) *Node {return &Node{key: k, val: v}}type DoubleList struct {head, tail *No