happlyfox happlyfox
4年前
[go-linq]-Go的.NET LINQ式查询方法
关于我开发者的福音,go也支持linq了坑爹的集合go在进行集合操作时,有很不舒服的地方,起初我真的是无力吐槽,又苦于找不到一个好的第三方库,只能每次写着重复代码。举个栗子类学生{姓名年龄性别}1、现在有10个学生的数组,如果我要统计所有年龄大于20岁的人,那我需要一、遍历二、自定义条件三、再append数组添加。2、接着我又
Wesley13 Wesley13
3年前
100 行写一个 go 的协程池 (任务池)
前言go的goroutine提供了一种较线程而言更廉价的方式处理并发场景,go使用二级线程的模式,将goroutine以M:N的形式复用到系统线程上,节省了cpu调度的开销,也避免了用户级线程(协程)进行系统调用时阻塞整个系统线程的问题。【1】但goroutine太多仍会导致调度性能下降、GC
Wesley13 Wesley13
3年前
Wesley13 Wesley13
3年前
Go1.16 即将正式发布,以下变更你需要知道
大家好,我是正在沉迷学习煎鱼的煎鱼。在前几天,Go1.16rc1抢先发布了。结合常规的28发布规律,其将会在2021.02月份左右发布正式版本。!(https://oscimg.oschina.net/oscnet/6e9280a76cb8432ea972dcc8719796be.png)这次Go1.16也带来了一些新特
Wesley13 Wesley13
3年前
Go日志,打印源码文件名和行号造成的性能开销
日志中打印源码文件名和行号,是非常实用的功能,尤其是开发阶段的debug日志,可以快速通过日志找到对应的源码位置。Go标准库中的packagelog也支持打印源码文件名和行号,打开方式是设置以下两个标志中的任意一个:Llongfile//fullfilenameandlinenumber:/a/b/c/d.go:2
wc 统计已过时,cloc 每一行代码都有效
上下文我们通常用代码量来评判一个程序员技术的高低或一个项目的大小,阅读新项目源码时,也需要了解其代码量,心里有个预期。那如何统计代码量呢?传统做法通过findwc命令完成shell$find.name".go"|xargswcl60./etcd/tutorial/distributedlock.go...3491total如上,统计命
京东云开发者 京东云开发者
11个月前
【转载】golang内存分配
Go的分配采用了类似tcmalloc的结构.特点:使用一小块一小块的连续内存页,进行分配某个范围大小的内存需求.比如某个连续8KB专门用于分配1724字节,以此减少内存碎片.线程拥有一定的cache,可用于无锁分配.同时Go对于GC后回收的内存页,并不是马
京东云开发者 京东云开发者
4个月前
【转载】golang内存分配
作者:钱文Go的分配采用了类似tcmalloc的结构.特点:使用一小块一小块的连续内存页,进行分配某个范围大小的内存需求.比如某个连续8KB专门用于分配1724字节,以此减少内存碎片.线程拥有一定的cache,可用于无锁分配.同时Go对于GC后回收的内存页