• Go 语言学习资料与社区索引
    鉴于之前有人做的 索引资料 已经过期超过 ~2~3 年,所以特开此坑。各位同学可以通过发起 Fork + Pull Request 的方式进行补充和更新。 最后更新时间:2018 年 05 月 29 日 交流社区 中文社区 码农俱乐部:基于 Go 语言实现的社区系统,提供最全面的 Go 语言学习资料 Golang 中国:国内较早的 Go 社区,汇聚各类信息与服务 Study Golang:国内 Go 社区先驱,同样汇聚各类信息与服务 Revel 交流论坛:Revel 框架的中文社区 GoCN Fo...
  • 基于flex&goyacc实现的计算器
    特性简介:支持整数四则运算支持小括弧提升优先级支持临时变量保存结果安装和使用(需要有GCC环境):$ go get github.com/chai2010/calculator$ calculator1+2*3= 7x=3-(2-1)= 2x*2= 4词法符号先创建tok.h文件,包含词法符号:enum {    ILLEGAL = 10000,    EOL = 10001,    ID = 258,    NUMBER = 259,    ADD = 260, // +    SUB = 261, //...
  • Go 语言十年而立,Go2 蓄势待发
    作者 | 柴树杉责编 | 郭   芮出品 | CSDN(ID:CSDNnews)在21世纪的第一个十年,计算机在中国大陆才逐渐开始普及,高校的计算机相关专业也逐渐变得热门。当时学校主要以C/C++和Java语言学习为主,而这些语言大多是上个世纪90年代或更早诞生的,因此这些计算机领域的理论知识或编程语言仿佛是上帝创世纪时的产物,作为计算机相关专业的学生只能仰望这些成果。Go语言诞生在21世纪新一波工业编程语言即将爆发的时期。在2010年前后诞生了编译型语言Rust、Kotlin和Switft语言,前端诞生了...
  • PBFT概念与Go语言入门(Tendermint基础)
    来自:博客园,作者:莱布尼茨链接:https://www.cnblogs.com/newton/p/9443006.htmlTendermint作为当前最知名且实用的PBFT框架,网上资料并不很多,而实现Tendermint和以太坊的Go语言,由于相对小众,也存在资料匮乏和模糊错漏的问题。本文简单介绍PBFT概念和Go语言[&开发环境]关键知识点,其中大部分都可单独成篇,限于篇幅,文中提供诸多链接供大家深入。日后可能会基于Tendermint出系列博文,此篇纯当基础。概念分布式系统中的异步和共识异步:这里的...
  • 最具潜力的编程语言GO有新书啦!
    参与文末互动有惊喜互联网时代的来临,改变甚至颠覆了很多东西。从前,一台主机就能搞定一切;而在互联网时代,后台由大量分布式系统构成,任何单个后台服务器节点的故障都不会影响整个系统的正常运行。以七牛云、阿里云和腾讯云为代表的云厂商的出现和崛起,标志着云时代的到来。在云时代,掌握分布式编程已经成为软件工程师的基本技能,而基于Go语言构建的Docker、Kubernetes等系统正是将云时代推向顶峰的关键力量。今天,Go语言已历经十年,最初的追随者也已经逐渐成长为Go语言资深用户。随着资深用户的不断积累,Go语言相...
  • Go语言爱好者周刊:第 1 期
    这里记录每周值得分享的 Go 语言相关内容,周日发布。欢迎投稿,推荐或自荐文章/软件/资源等,请提交issue:https://github.com/polaris1119/golangweekly/issues。由于微信不允许外链,文中大量外链,请点击文末“阅读原文”查看。(题图:来自 GopherCon)资讯 1、GopherCon 2019 开发者大会在加利福尼亚举行大会从 2019 年 7 月 24 日至 27 日,为期 4 天。GopherCon 大会自 2014 年成功举办以来,已经 5 年了,...
  • 深度解密Go语言之map
    这篇文章主要讲 map 的赋值、删除、查询、扩容的具体执行过程,仍然是从底层的角度展开。结合源码,看完本文一定会彻底明白 map 底层原理。我要说明的是,这里对 map 的基本用法涉及比较少,我相信可以通过阅读其他入门书籍了解。本文的内容比较深入,但是由于我画了各种图,我相信很容易看懂。放上本文的内容提纲:什么是 map维基百科里这样定义 map:In computer science, an associative array, map, symbol table, or dictionary is an...
  • golang实现“类”
    golang是没有“类”这个东西的。golang通过结构体和接口实现类的。golang的Interface,并非你在java和C#中看到的interface,尽管看起来有点像,golang的interface是非侵入式的接口,具体表现在实现一个接口不需要显式地进行声明。但是golang的interface远不是非侵入式接口这么简单,它是golang语言类型的纲,这表现在:1,只要某个类型实现了接口要的方法,那么我们说该类型实现了此接口。该类型的对象可赋值给该接口2,作为1的推论,任何golang的内置对象都...
  • Go语言爱好者周刊:第 2 期
    这里记录每周值得分享的 Go 语言相关内容,周日发布。欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[1] 。鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。文中包含大量链接,微信无法点击,可以通过【阅读原文】查看。(题图来自 Unsplash)虽然现在不是换工作高峰期,但我们应该时刻准备着,时刻提升自己。本期周刊提供了一系列和面试相关的资源。对于应届生和工作年限不长的人来说,如果想要进入大厂,算法相关的技能必须得...
  • Go语言爱好者周刊:第 3 期
    这里记录每周值得分享的 Go 语言相关内容,周日发布。欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[1] 。鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。文中链接较多,微信不可点,可以通过阅读原文查看。(题图:华为鸿蒙 HDC 2019 大会)华为消费者业务 CEO 余承东在 2019-08-09 举行的华为开发者大会上介绍,HarmonyOS 是“第一个适用于所有场景的基于微内核的分布式操作系统”,它可以运行...
  • 9102年编程语言薪资排名 - Go和WASM上榜
    英文原文:https://learnworthy.net/highest-paid-programming-languages-in-2019/灵魂译者:柴树杉(https://github.com/chai2010)现在都流行面向薪资编程。因此如果你想学习一个新的编程语言,肯定更关注有多少岗位每月能发多少米。当然,还有很多码农更关注就业前景和长远发展(主要是语言是否友好好用,是否和能蹭到热门技术),不过本文只聊薪资排名。这些的数据是从爆栈网偷偷爬来的,你也可以从这里看:https://insights.s...
  • Go语言爱好者周刊:第 5 期
    该提议建议在 Go2 中加入 ?Golang <-time.After()在计时器过期前不会被垃圾回收[9]。[12]make 针对的是 Go 的引用类型,即 chan、slice 和 map,而 new 针对的指针。[14]如果关注过 《Go语言中文网》公众号,应该知道答案吧。Go1.11 开始,官方提供了解决方案,这就是 Module。
  • Go语言爱好者周刊:第 5 期
    该提议建议在 Go2 中加入 ?Golang <-time.After()在计时器过期前不会被垃圾回收[9]。[12]make 针对的是 Go 的引用类型,即 chan、slice 和 map,而 new 针对的指针。[14]如果关注过 《Go语言中文网》公众号,应该知道答案吧。Go1.11 开始,官方提供了解决方案,这就是 Module。
  • 深度解密Go语言之scheduler
    按照惯例,手动贴上本文的目录:前置知识os scheduler从操作系统角度看,我们写的程序最终都会转换成一系列的机器指令,机器只要按顺序执行完所有的指令就算完成了任务。OS scheduler 保证如果有可以执行的线程时,就不会让 CPU 闲着。另外,OS scheduler 在保证高优先级的线程执行机会大于低优先级线程的同时,不能让低优先级的线程始终得不到执行的机会。OS scheduler 还需要做到迅速决策,以降低延时。线程切换OS scheduler 调度线程的依据就是它的状态,线程有三种状态:Waiting, Runnable or Executing。记住,对于 OS scheduler 来说,最重要的是不要让一个 CPU 核心闲着,尽量让每个 CPU 核心都有任务可做。
  • 开源书籍-《Go Web编程》
    《GoWeb编程》是国人编写的关于Go语言进行Web应用的开发的开源电子书籍,书中将Go语言的特性与Web开发实战组合到一起,帮读者成功地构建跨平台的应用程序,书中大量针对真实问题的解决方案, 帮助读者理解Go语言开发Web,方便找到各种编程问题解决方案,内容涵盖文本处理、表单处理、Session管理、数据库交互、加/解密、国际化和标准化,以及程序的部署维护等运维方面的知识,以及介绍一个快速开发的框架进行Go语言的Web开发。书籍内容遵守CC知识共享协议,书中涉及代码遵守BSD 3-Clause 协议。书籍中文版已经实体化出版。
  • Go语言(golang)新发布的1.13中的Error Wrapping深度分析
    基于这个背景,Golang 1.13 为我们提供了Error Wrapping,翻译过来我更愿意叫Error嵌套。Wrapping Error原理按照这种不丢失原error的思路,那么Wrapping Error的实现原理应该类似我们上面的自定义error.我们看下fmt.Errorf函数的源代码验证下我们的猜测是否正确。Unwrap 函数Golang 1.13引入了wrapping error后,同时为errors包添加了3个工具函数,他们分别是Unwrap、Is和As,先来聊聊Unwrap。顾名思义,它的功能就是为了获得被嵌套的error。最终如果一个error不是warpping error,那么返回的是nil。
  • Go是如何实现protobuf的编解码的(1): 原理
    各位朋友咱们又见面了,我是大彬,今天聊一聊Go是如何实现protobuf编解码的。这是一篇姊妹篇文章,本编是第一篇:1.Go是如何实现protobuf的编解码的:原理2.Go是如何实现protobuf的编解码的:源码Protocol Buffers介绍Protocol buffers缩写为protobuf,是由Google创造的一种用于序列化的标记语言,项目Github仓库:https://github.com/protocolbuffers/protobuf。Protobuf主要用于不同的编程语言的协作RPC场景下,定义需要序列化的数据格式。我们介绍一下protobuf对多语言的支持原理。对于C++,protoc可以把a.proto,编译成a.pb.h和a.pb.cc。一个Hello World样例根据上面的介绍,Go语言使用protobuf我们要先安装2个工具:protoc和protoc-gen-go。
  • 深度解密Go语言之context
    Go 语言的 context 包短小精悍,非常适合新手学习。贴上文章的目录:什么是 contextGo 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。context 几乎成为了并发控制和超时控制的标准做法。context.Context 类型的值可以协调多个 groutine 中的代码执行“取消”操作,并且可以存储键值对。context 底层实现原理我们分析的 Go 版本依然是 1.9.2。Done() 返回一个 channel,可以表示 context 被取消的信号:当这个 channel 被关闭时,说明 context 被取消了。Deadline() 返回 context 的截止时间,通过此时间
活跃用户
记录工作,生活的地方。
LearnDapp系列、分享区块链应用开发实践代码。我们还做了一个区块链技术社区,https://w3c.group,欢迎加入!
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。
一个有情怀的公众号。机器学习、自然语言处理、算法等知识集中营、期待与你相遇~
西安交大品牌讲座“学而讲坛”创始人和负责人,致力于打造一个跨界融合的学术共同体。北大文学博士,西安交大国家大学生文化素质教育基地副主任,人文学院高培中心主任,著有《陕西文化产业实战研究》、《视觉素养导论》、《艺术导论》、《读图范式》等。
Alibaba group 下1.6w+ star开源项目主要开发者,活跃于各类技术社区。爱总结,爱分享。从前端到全栈,每日分享前端、客户端、Node、面试等相关高质量精选文章。小白的大神养成记,你我共勉!
Java和大数据领域开发,干货,面试,资料下载,源码解读等