×
提示:
×
提示:
请:
谢谢!
Toggle navigation
技术头条
最新
读点非技术
我也分享
赞过
我的
IT技术博客大学习
微博登录
1
让 sync.Map 支持泛型
(colobu.com)
【简介】
渐渐地, Go泛型越来越多应用的Go的标准库中了。一些标准库的类型,比如container/heap、container/list、container/ring、math都是有机会支持泛型的,但是考虑到Go向下兼容的情况,这些包可能不会直接修改,最可能就是新建一些并发的包,或者放在扩展包中。
本篇文章将讲一个相对复杂的例子,也就是对sync.Map的修改,让它支持泛型。
点击查看原文 >>
由
@技术头条
2023-06-24 09:19 / 原作者微博:
@colobu
/ 0个评论
赞过的人:
@IT技术博客大学习
要不要再学学下面的文章?
1
时隔两年,Chrome也支持round等CSS数学函数了
(www.zhangxinxu.com)
本文介绍了CSS中的数学函数 `round()` 的新应用,它能实现多种取整方式,如上舍、下舍、四舍五入等,用于提升样式的精确控制。特别是在字体大小、动画步阶和响应式设计中,`round()` 可防止小数值带来的渲染偏差,使界面更一致。这一函数现已在Chrome中支持,为开发者提供了更灵活的布局工具。
by
@技术头条
2024-11-02 16:22
查看详情
0
在 Rust 中同时支持异步和同步代码
(colobu.com)
在 Rust 中如何同时支持异步和同步代码?本文提供了详细的解决方案,从基础实现到 maybe_async crate 的使用,帮助你在一个代码库中高效处理这两种模式的转换。无论你是构建高并发系统还是希望代码更灵活,这篇文章都提供了实用的技巧。感兴趣的开发者不容错过!
by
@技术头条
2024-09-08 23:37
查看详情
1
Robust 2.0:支持Android R8的升级版热修复框架
(tech.meituan.com)
2016年,我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年,Google 推出了新的代码优化混淆工具R8,Android 热修复补丁制作依赖二次构建包和线上包对比,需要对Proguard切换到R8提前进行适配和改造,本文分享 Robust 在适配 R8 以及优化改进中的一些思路和经验,希望能对大家有所帮助或者启发。
by
@技术头条
2023-06-24 09:21
查看详情
1
一个泛型的有序Go Map实现
(colobu.com)
我们知道, Go内建的map类型对于插入的元素并没有保持它们的插入顺序,遍历的时候也故意设置成随机的。因此,如果我们想让map保持元素的插入顺序,需要借助第三方的库才行,今天就给大家介绍一个这样的库OrderedMap。
其实在其他编程语言中,也有类似的数据结构,比如java中的 LinkedHashMap, python中的OrderedDict。
本文介绍如何使用Go语言实现这样的一种数据类型。注意我们要实现的是OrderedMap, 不是SortedMap或者TreeMap,SortedMap遍历的时候是按照Key的排序顺序遍历的,我们可以通过先获取所有的key并排序,再逐个访问对应的值。
但是OrderedMap遍历的时候要是保持插入的顺序,这怎么办到的呢?
by
@技术头条
2023-06-24 09:19
查看详情
1
Chrome浏览器原生支持的7种后台服务简介
(www.zhangxinxu.com)
妈呀,不知不觉中,浏览器竟然支持了这么多的Web后台服务特性,不少API我还是第一次见到。
by
@技术头条
2023-02-12 14:01
查看详情
1
机智!生抠 map的哈希函数
(colobu.com)
我们经常会在一些场景,比如特定的数据结构、cache等场景中使用这样一个哈希函数,那么如何为任务类型实现一个优雅高效的hash函数呢?其实Go运行时中map中就实现了。回想一下内建的map是不是支持泛型的?它的key可以是comparable类型(包括接口类型),内部实现中会把此类型的key计算一个哈希值,能不能吧它的hash函数拿出来使用?很遗憾,Go官方并没有想暴露出来这样的hasher的想法,它的代码也是不容易抽取整理成一个hasher函数。
by
@技术头条
2022-12-24 23:34
查看详情
1
Go泛型不支持泛型方法,这是一个悲伤的故事
(colobu.com)
根据Go 泛型提案的描述,Go不支持泛型方法:No parameterized methods。主要原因Go泛型的处理是在编译的时候实现的,泛型方法在编译的时候,如果没有上下文的分析推断,很难判断泛型方案该如何实例化,甚至判断不了,导致目前(Go 1.18)Go实现中不支持泛型方案。
不过,泛型方法的缺失,多多少少给程序员带来一丝丝的忧伤的情绪,在一些场景之下,使用起来特别不方便。我最近看到了几个因为缺乏泛型方法导致的问题,在本文中总结一下,和大家探讨。
by
@技术头条
2022-05-06 23:15
查看详情
1
官宣Vue3.0抛弃支持IE,把精力集中在这个上面
(mp.weixin.qq.com)
自Vue 3的开发开始到2018年底,我们一直被要求提供IE11支持。许多用户询问Vue 3是否将支持IE11,我们最初的计划是发布Vue 3并使其稳定,然后添加稍后会支持IE11。
by
@code小生
2021-11-15 14:51
查看详情
1
谷歌宣布 Android 加入对 Rust 的支持
(mp.weixin.qq.com)
谷歌发布博客称 AOSP (Android Open Source Project) 现已支持使用 Rust 开发 Android 操作系统。
by
@code小生
2021-05-01 16:18
查看详情
2
谷歌最支持的 Android 开发架构指南
(mp.weixin.qq.com)
就像所有软件一样,Android应用程序也应该遵循通用的架构规则和模式,没有遵循正确架构的Android应用程序往往会因为缺乏一致的设计而变得很难维护。
by
@code小生
2021-03-06 18:14
查看详情
使用微博登录,分享你的文章到本站
评论:
提交评论
近一周被赞排行
分享文章被赞得多,您就会出现在上面。还能给您微博带来新粉丝哦!