202002-08 go语言编程前景怎么样? HOT 语法变化:几乎没有增加什么明显的语法特性,变化主要围绕:降低心智负担、细节完善、工程化; Go本身迭代的核心是实现优化,主要围绕:性能、性能、性能!(重要的事情说三遍),性能的优化尤其体现在GC上,此外,还围绕更多的平台移植及更进一步的标准化,以强化社区约定。 继续阅读 >
202002-07 Go语言的结构体 Go语言中的基本数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候基本数据类型就无法满足需求了。 Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体(struct)。 我们可以通过struct来定义自己的类型了。 继续阅读 >
202002-07 Go 编程语言的简单介绍 | Linux 中国 HOT Go 是一门用于并发编程的命令式编程语言,它主要由创造者 Google 进行开发,最初主要由 Robert Griesemer、Rob Pike 和 Ken Thompson 开发。这门语言的设计起始于 2007 年,并在 2009 年推出最初版本;而第一个稳定版本是 2012 年发布的 1.0 版本。1 继续阅读 >
202002-07 面试官让你用 Go 语言生成一个排列:掌握这几种生产排列的算法就不怕了 HOT 优缺点 优点:代码实现简单、高效。 缺点:非常难理解。 本文介绍了生成排列的常用算法,掌握后基本不怕任何排列问题了。 继续阅读 >
202002-06 Go语言基础:类型别名和自定义类型 Go语言中没有类的概念,也不支持“类”的继承等面向对象的概念。 Go语言中通过结构体的内嵌再配合接口,比面向对象具有更高的扩展性和灵活性。 继续阅读 >
202002-06 Go语言的接口 HOT 在Go语言中,一个接口类型总是代表着某一种类型(即所有实现它的类型)的行为。一个接口类型的声明通常会包含关键字type、类型名称、关键字interface以及由花括号包裹的若干方法声明。 继续阅读 >
202002-06 TIOBE 公布了 2020 年 2 月编程语言排行榜,Go 的排名你还满意吗? HOT 每次的排行榜出来,TIOBE 都会有它分析关注的重点,其他社区分享,也会从他们关注的角度进行分析。作为国内最重要的 Go 社区之一,Go 语言中文网关注 TIOBE 排行榜,自然主要关注 Go 语言了。下表是 2020 年 2 月编程语言排行榜。 继续阅读 >
202002-05 go语言实现普通文件下载和带进度条的大文件下载,实时显示下载进度 go语言实现普通文件下载和带进度条的大文件下载,实时显示下载进度 本示例说明如何从网上将文件下载到本地计算机。通过io.Copy()直接使用并传递响应主体,我们将数据流式传输到文件中,而不必将其全部加载到内存中-小文件不是问题,但下载大文件时会有所不同。 继续阅读 >
202002-05 Go Team 核心成员Brad Fitzpatrick离职谷歌,告别Go语言团队 HOT 39岁的美国知名程序员Brad Fitzpatrick(bradfitz),昨日在自己的博客中宣布1月28日,将是他在Google的最后一个工作日。 此前,他已经在Google供职近12.5年,在Go团队工作也已经近10年。 继续阅读 >
202002-05 保护数据库信息,如何用Go语言+对称密钥做数据加密? HOT 个人识别信息(PII)是客户告知服务提供商(电子商务、金融服务等)的个人信息。作为服务提供者,他们有责任妥善保管信息。针对PII的攻击可能来自外部,也可能来自服务商内部。 为了抵御针对PII的攻击,将存储在数据库中的PII加密,这样组织内的员工就无法读取信息,外部攻击者在设法窃取数据库时也无法读取信息。 如何解决这一问题呢?本文就将为大家介绍用 Go语言为数据加密的策略。 继续阅读 >
202002-04 五分钟用Docker快速搭建Go开发环境 挺早以前在我写过一篇用 Docker搭建LNMP开发环境的文章:用Docker搭建Laravel开发环境,里面详细介绍了将 nginx、 mysql和 php三个容器用 docker-compose编排成 LNMP开发环境的步骤,今天来说说怎么用 Docker快速搭建 Go语言项目的开发环境。 因为靠Go本身自带的标准库就能实现高性能的 HTTP服务器,不熟悉的同学买它,呃说错了,看它:深入学习用Go编写HTTP服务器。所以用 Docker 构建 Go的开发环境比构建 LNMP 开发环境要简单很多,如果没有太多定制化要求甚至都不用写 Dockerfile自己构建镜像,直接使用官方的 golang镜像即可。 继续阅读 >
202002-03 Go语言转换所有字符串为大写或者小写的方法 本文实例讲述了Go语言转换所有字符串为大写或者小写的方法。分享给大家供大家参考。具体如下: Go语言的string模块包含了ToLower和ToUpper函数,用于将字符串转换成小写和大写 继续阅读 >
202002-02 我们应该怎么样编写 Go 语言库,有哪些标准可以参考? 不久前我和朋友们想出一个主意,准备合并我们的 IRC bots,并用 Go 重写它们。为了防止重写大部分现有功能,我们试图找到支持 bots 程序中使用的 Web API 的现有库。我们的项目需要一个 Reddit API 的库。这篇文章启发于我找到的前三个库,我不打算说出它们的名字,以免羞辱它们的作者。 继续阅读 >
202002-01 Go语言锁的解读 Go语言锁的解读 sync 包中实现了两个关于锁的数据类型,sync.Mutex 和 sync.RWMutex。[ 互斥锁 mutex 是独占型,只能 lock 一次, unlock 一次,然后才能继续 lock 否则阻塞。 读写互斥锁 reader-writer mutex 是所有的 reader 共享一把锁或是一个 writer 独占一个锁, 如果一个 reader lock 到锁了, 其他的 reader 还可以 lock 但是 writer 不能 lock 。 ] 继续阅读 >
202001-21 Go 中锁的那些姿势,估计你不知道 什么是锁,为什么使用锁 用俗语来说,锁意味着一种保护,对资源的一种保护,在程序员眼中,这个资源可以是一个变量,一个代码片段,一条记录,一张数据库表等等。 就跟小孩需要保护一样,不保护的话小孩会收到伤害,同样的使用锁的原因是资源不保护的话,可能会受到污染,在并发情况下,多个人对同一资源进行操作,有可能导致资源不符合预期的修改。 继续阅读 >
202001-20 Go 语言开发工具 LiteIDE X36.3 发布 Go 语言开发工具 LiteIDE X36.3 发布,新版本重构了配置系统,更新 gotools & gocode 以更好地支持 Go Module 功能。 ### 2020.01.15 Ver X36.3 * LiteIDE 继续阅读 >
202001-17 逻辑思维Go语言微服务改造实践 HOT 为什么要避免反射呢?我们在本地建了local cache,缓存整个对象就要求你不能在缓存之外修改这个对象,但是实际业务上有这个需求。我们出现过这样的情况后就用反射来做deep copy。JAVA反射还可以用,原因是jvm会将反射代码生成JAVA代码,实际上调用的是生成的代码。但是在Go里面不是,本来Go的性能是和C接近的,大量用了反射之后,性能就跟python接近额。后来我们就定义一个cloneable的接口,让程序员手动来做这个clone工作。 继续阅读 >
202001-17 服务端I/O性能大比拼:Node、PHP、Java与Go HOT 理解应用程序的输入/输出(I/O)模型,意味着其在计划处理负载与残酷的实际使用场景之间的差异。若应用程序比较小,也没有服务于很高的负载,也许它影响甚微。但随着应用程序的负载逐渐上涨,采用错误的I/O模型有可能会让你到处踩坑,伤痕累累。 继续阅读 >
202001-14 GO和PHP可以在一起愉快的玩耍了 HOT PHP,是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中去,而Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易.在此我想给PHPer提供另外一种方式来学习go,这样不但学习了新语言go,同时对php的内部机制也会有深入的了解。 继续阅读 >
202001-14 PHPer的Go之路 -- 条件循环语句 HOT Go的if和php不同之处在于以下几点: 条件语句不需要使用圆括号将条件包含起来 (); 无论语句体内有几条语句,花括号 {} 都是必须存在的; 左花括号 { 必须与 if 或者 else 处于同一行; Go中不能写成elseif,只有else if(需要分开) 继续阅读 >
202001-13 云原生的浪潮下,为什么运维人员适合学习Go语言? HOT 随着云原生和可观察性理念的普及,现在的运维也越来越向云原生方向靠拢,本文提供一个视角,向你说明 Go 语言可以如何在 DevOps 中使用。 继续阅读 >
202001-13 深入浅出Go语言的库源码文件 HOT 我们在本篇文章中详细讨论了把代码从命令源码文件中拆分出来的方法,这包括拆分到其他库源码文件,以及拆分到其他代码包。这里涉及了几条重要的 Go 语言基本编码规则,即:代码包声明规则、代码包导入规则以及程序实体的访问权限规则。在进行模块化编程时,你必须记住这些规则,否则你的代码很可能无法通过编译。 继续阅读 >
202001-11 Go 语言的代码结构详解 HOT 每个编程语言都有自己的语法或结构,有属于自己的风格,这才是每个语言的独特所在。Go语言也不例外,它以自己的方式,轻松优雅,让软件开发变得更有趣。 继续阅读 >