首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Golang
Gundy
创建于2021-05-11
订阅专栏
Golang
等 4 人订阅
共27篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
如何清理Docker数据
Docker不会对您的系统进行任何配置更改, 但是它会占用大量的磁盘空间。短时间使用它,您可能会惊讶地看到输入下面命令时返回了一些可怕的使用情况统计信息:幸运的是,Docker允许您从未使用的镜像,容
GUI库fyne入门 | Go主题月
简介Fyne工具包是一个易于学习、免费和开源的平台,用于为桌面、移动和其他平台构建图形应用程序。将Go编程语言的强大和简单性与精心制作的小部件库相结合,现在比以往任何时候都更容易构建应用程序,并在所有
Golang代理实现 | Go主题月
正向代理正向代理是一种客户端代理技术,帮助客户端访问无法访问的服务资源,可以隐藏用户真实IP。比如:浏览器web代理,VPN等反向代理反向代理是一种服务端的代理技术,帮助服务器做负载均衡,缓存,提供安
Mutex扩展额外功能|Go主题月
TryLock当一个 goroutine 调用这个 TryLock 方法请求锁的时候,如果这把锁没有被其他 goroutine 所持有,那么,这个 goroutine 就持有了这把锁,并返回 true
一文掌握Golang常量|Go主题月
Golang常量在编译期被创建。因为在编译期必须确定其值,因此在声明常量时有一些限制。其类型必须是:数值、字符串、布尔值表达式必须是在编译期可计算的声明常量的同时必须进行初始化,其值不可再次修改定义c
Mutex实现可重入锁 | Go主题月
当一个线程获取锁时,如果没有其它线程拥有这个锁,那么,这个线程就成功获取到这个锁。之后,如果其它线程再请求这个锁,就会处于阻塞等待的状态。但是,如果拥有这把锁的线程再请求这把锁的话,不会阻塞,而是成功返回,所以叫可重入锁。只要你拥有这把锁,你可以可着劲儿地调用,比如通过递归实现…
一文掌握Mutex | Go主题月
在并发编程中,如果程序中的一部分会被并发访问或修改,那么,为了避免并发访问导致的意想不到的结果,这部分程序需要被保护起来,这部分被保护起来的程序,就叫做临界区。 临界区就是一个被共享的资源,或者说是一个整体的一组共享资源,比如对数据库的访问、对某一个共享数据结构的操作、对一个 …
Golang实现四种负载均衡算法
随机负载随机挑选目标服务器轮询负载服务器依次轮询加权轮询负载给目标设置访问权重,按照权重轮询一致性hash请求固定的URL访问指定的IP封装定义LoadBalance接口工厂方法
go-hystrix熔断机制
可以联想到我们家里的电表的保险丝,当电压负载过高后,保险丝熔断,确保家里的电器等其他安全。 关闭:让请求通过的默认状态。如果请求成功/失败但低于阈值,则状态保持不变。可能出现的错误是超过最大并发数和超时错误。 打开:当熔断器打开的时候,所有的请求都会被标记为失败;这是故障快速失…
GitHub Actions 的 Go 语言示例
GitHub的新个人资料页面README功能为开发人员Internet的Myspace页面带来了一些个性。 尽管Markdown最适合标准静态文本内容,但这并不能阻止有创造力的人们创建下一个自述文件。您可以包括GIF和图像来添加一些动态内容(它们在GitHub Flavor M…
[翻译]Go 语言入门
在许多语言中,有许多方法可以解决给定的问题。程序员可以花很多时间思考解决问题的最佳方法。另一方面,Golang坚持精简的功能 - 只有一种正确的方法可以解决问题。 这节省了开发人员的时间,并使大型代码库易于维护。Golang中没有像地图和过滤器这样的“富有表现力”的功能。 Go…
Go并发编程小测验答案解析
因为go为了防止写锁饥饿,当有写锁等待时,后来的读锁获取不了,会等待写锁完成后再获取读锁。
Gopher 2019 Go并发编程的分享
A XXX must not be copied after first use. Pool Map 扩展同步原语 ReentrantLock Semaphore SingleFlight ErrGroup SpinLock fslock concurrent-map 原子操作…
Golang通道Channel详解
通道类型是Go自带的,相当于是一个先进先出的队列,同时唯一一个可以满足并发安全性的类型。声明一个通道类型变量的时候,首先需要确定通道类型的元素类型,然后还要确定通道的容量,当然默认容量是0。 如果不指定容量,默认通道的容量是0,这种通道也成为非缓冲通道。 对于同一个通道,发送操…
Golang使用Map的正确姿势
由于字典是引用类型,所以当我们仅声明而不初始化一个字典类型的变量的时候,他的值是nil。对值为nil的字段除添加键值对外其他操作都不会引发错误。上面的第一行代码对其进行写入操作,就是对空指针的引用,这将会造成一个painc。所以,得记得用 make函数对其进行分配内存和初始化:…
Golang使用Map的正确姿势
Golang中,map是引用类型,如切片一样,通过下面的代码声明后指向的是nil,所以千万别直接声明后就使用,新手可能经常会犯如下错误: 由于字典是引用类型,所以当我们仅声明而不初始化一个字典类型的变量的时候,他的值是nil。对值为nil的字段除添加键值对外其他操作都不会引发错…
Golang 需要避免踩的 50 个坑
Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会…
Golang Slice技巧
追加元素复制裁剪删除元素删除而不保留顺序扩大延伸插入插入Slice增加元素取出最后一个元素PushFront/UnshiftPopFront/Shift其他技巧不进行内存分配过滤让一个切片与原始切片共
badger (一个高性能的LSM K/V store)使用指南
badfer是一个纯Go实现的快速的嵌入式K/V数据库,针对LSM tree做了优化。 $ go get github.com/dgraph-io/badger/... WriteBatch不允许任何读取。对于读-修改-写,应该使用事务API。 Badger允许在键上设置一个可…
Golang 字符串拼接
这种应该是最直接最简单的方式了。 运行go test -bench=. -benchmem 查看性能输出如下: 这个是利用strings.Join函数进行拼接,接受一个字符串数组,转换为一个拼接好的字符串。 可以看到Join 和 builder表现最好。但是一般是有数组切片进行…
下一页