来这才是 Golang Interface

定义 Interface 是一个定义了方法签名的集合,用来指定对象的行为,如果对象做到了 Interface 中方法集定义的行为,那就可以说实现了 Interface。 这些方法可以在不同的地方被不同的对象实现,这些实现可以具有不同的行为。 interface 的主要工作仅是提供方法名称签名,输入参数,返回类型。最终由具体的对象来实现方法,比如 struct。 interface 初始化值为 nil 使用 type 关键字来申明,interface 代表类型,大括号里面定义接口的方法签名集合。 ...阅读全文

掘金 2019年09月23日 _西门吹牛

区块链笔记

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 广义和狭义的区块链广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本(分布式数据库)。 区块链结构与特征...阅读全文

Segmentfault 2019-09-23 19:02:38 链客

GO 快递单号查询api接口开发(快递鸟)

此文章纯属个人原因,本人是初学者,刚学习Golang 4个来月,如写的不好大神们就请绕行吧!最近公司需要些快递的接口,但是公司没有开发,我是个搞运维,一直在学GO,所以就试着写了写,也在网上找了很多资料,都没有找到需要的,快递鸟的接口对接其实很简单,先去官网注册账号,登陆把基本信息填好,然后在产品管理中订购一下“物流查询”,免费,免费的有对接口调用频率限制,结合自己的应用流量够用就可以。对接流程:快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用1、登录快递鸟官网注册页面注册快递鸟账号2、...阅读全文

Go语言中文网 2019-09-23 17:03:00 fire77

如何做智能合约审计?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 研究报告【Fin你有没有考虑过如何审计一个智能合约来找出安全漏洞? 你可以自己学习,或者你可以使用这份便利的一步步的指南来准确地知道在什么时候该做什么,并对合约进行审计。 我已经研究过很多智能合约的审计,并且我已经找到了从任何合约中提取所有重要信息的最常规步骤。 在本文中,你将会学到以下内容: 生成对一个智能合约的完整审计报告所需的所有步骤。作为以太坊智能合约审计人员需要了解的最重要的攻击类型。应该在合约中寻找什么,...阅读全文

Segmentfault 2019-09-23 19:02:39 链客

Go语言变量

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。声明变量的一般形式是使用 var 关键字: var identifier type变量声明第一种,指定变量类型,声明后若不赋值,使用默认值。 var v_name v_typev_name = value第二种,根据值自行判定变量类型。 var v_name = v...阅读全文

Segmentfault 2019-09-23 19:02:39 链客

Go语言指针

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演示了变量在内存中地址: package mainimport "fmt"func main() { var a int = 10 fmt.Pri...阅读全文

Segmentfault 2019-09-23 19:02:38 链客

聊聊区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 在聊区块链(Blockchain)之前,我先推荐两本书,《区块链 从数字货币到信用社会》、《区块链 技术驱动金融》。 前一本是属于概念普及型,适合概览的去了解区块链,从区块链的基础到智能合约、以及应用都全面的进行了介绍,通俗易懂。后面一本就稍微深入一些,讲解了基本技术原理、算法、生态,但读起来也没有什么门槛。建议两本结合起来读,会对区块链理解的更为深刻一些。这两本书我都读过,所以这篇文章也算是一个读书心得。 区块链技...阅读全文

Segmentfault 2019-09-23 19:02:38 链客

加密货币的本质

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 去年,比特币暴涨,其他币也像雨后春笋一样冒出来,已经有1000多种了。 很多人都在问,加密货币(cryptocurrency)的时代,真的来临了吗?将来会不会人类不再使用美元、人民币,改用加密货币?那么多品种,我应该使用哪一种币?要不要现在就去投资一些? 这些问题的答案,我也想知道,就花了很多时间查阅资料、研究协议。前两周发表的《区块链入门教程》和《比特币入门教程》,是我的学习心得。但是,那两篇教程主要介绍基本概念、...阅读全文

Segmentfault 2019-09-23 19:02:37 链客

[译] 为什么你要学习 Go?

原文地址:Why should you learn Go? 原文作者:Keval Patel 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/why-should-you-learn-go.md 译者:司徒公子 校对者:TokenJan,JackEggie 为什么你要学习 Go? “Go will be the server language of the future.” — Tobias Lütk...阅读全文

Segmentfault 2019-09-23 19:02:37 dior

微服务之间的最佳调用方式

在微服务架构中,需要调用很多服务才能完成一项功能。服务之间如何互相调用就变成微服务架构中的一个关键问题。服务调用有两种方式,一种是RPC方式,另一种是事件驱动(Event-driven)方式,也就是发消息方式。消息方式是松耦合方式,比紧耦合的RPC方式要优越,但RPC方式如果用在适合的场景也有它的一席之地. 耦合的种类:我们总在谈耦合,那么耦合到底意味着什么呢? 时间耦合:客户端和服务端必须同时上线才能工作。发消息时,接受消息队列必须运行,但后台处理程序暂时不工作也不影响。 容量耦合:客户端和服...阅读全文

Segmentfault 2019-09-23 19:02:33 倚天码农

为什么要使用 go module proxy

在看过 `Go module` 的简介之后,我以为我已经知道了这个功能我需要知道的一切。但是很快,我意识到并不是这样。最近,人们开始提倡使用 `Go module proxy`。在研究了利弊之后,我得出结论,这将是近年来 Go 语言`最重要`的变化之一。 但为什么会这样呢?是什么让 `Go module` 代理如此特别? 使用 `Go modules` 时,如果向干净的缓存的计算机上添加新依赖项或构建 `Go module`,它将基于 `go.mod` 将下载(go get)所有依赖项,...阅读全文

Go语言中文网 2019-09-23 12:37:52 TomatoAres

无缓冲和有缓冲通道

!["Go 之旅 插图,由 Go Gopher 的 Renee French 创作](https://raw.githubusercontent.com/studygolang/gctt-images2/master/buffered-and-unbufferd-channel/next-recvier.png) Go 中的通道(channel)机制十分强大,但是理解内在的概念甚至可以使它更强大。实际上,选择缓冲通道或无缓冲通道将改变应用程序的行为和性能。 ## 无缓冲通道 无...阅读全文

Go语言中文网 2019-09-23 12:34:16 TomatoAres

Unit Test In Go With Docker

本篇文章主要讲解如何在 Docker 中进行 Go 单元测试,依赖 Docker 和 Go Modules。 为什么是 Docker 在 Docker 之前我们往往需要在 Jenkins 服务器上配置不同的 Go 版本以及针对每个项目配置 GOPATH,项目之间的隔离性差,经常出现基础库版本冲突的问题。 有了 Docker,我们可以在不同容器中运行单元测试,该测试不局限不同项目,甚至可以是同一项目不同分支。 所以在测试隔离性和项目测试并发度上都有很大提升,而且测试结束后,环境清理也简单许多。 为...阅读全文

51CTO博客 2019-09-23 12:04:56 xjtuhit

go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包

本篇文章是 Go 语言学习笔记之函数式编程系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: 闭包 空谈误国,实干兴邦,以具体代码示例为基础讲解什么是闭包以及为什么需要闭包等问题,下面我们沿用上篇文章的示例代码开始本文的学习吧! 斐波那契数列是形如 1 1 2 3 5 8 13 21 34 55 的递增数列,即从第三个数开始,后一个数字是前两个数字之和,保持此规律无限递增... 开门见山,直接给出斐波那契数列生成器,接下来的文章慢慢深挖背后隐藏的奥秘,一个例子讲清楚什...阅读全文

掘金 2019年09月23日 雪之梦技术驿站

go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包

本篇文章是 `Go` 语言学习笔记之**函数式编程**系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: **闭包** 空谈误国,实干兴邦,以具体代码示例为基础讲解**什么是闭包**以及为什么需要闭包等问题,下面我们沿用上篇文章的示例代码开始本文的学习吧! > **斐波那契数列**是形如 `1 1 2 3 5 8 13 21 34 55` 的**递增**数列,即从第三个数开始,后一个数字是**前两个数字之和**,保持此规律无限递增... ![go-f...阅读全文

Go语言中文网 2019-09-23 00:20:57 snowdreams1006

go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包

本篇文章是 Go 语言学习笔记之函数式编程系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: 闭包 空谈误国,实干兴邦,以具体代码示例为基础讲解什么是闭包以及为什么需要闭包等问题,下面我们沿用上篇文章的示例代码开始本文的学习吧! 斐波那契数列是形如 1 1 2 3 5 8 13 21 34 55 的递增数列,即从第三个数开始,后一个数字是前两个数字之和,保持此规律无限递增... 开门见山,直接给出斐波那契数列生成器,接下来的文章慢慢深挖背后隐藏的奥秘,一个例子讲清楚什...阅读全文

Segmentfault 2019-09-23 19:02:35 雪之梦技术驿站

aliyun sms 非官方sdk

由于没有注意到ali官方发布到新版的golang sdk for SMS service 快实现完成完成了才发现, 索性把它实现完成,只是没有补充足够的测试. 相比官方sdk, 个人认为实现要比官方版简洁,调用优雅, 可扩展性强于官方版. description: golang version short message sender underline with ali sms service ## Installation Use `go get` to install ...阅读全文

Go语言中文网 2019-09-22 18:56:58 guoapeng

煎鱼换公众号啦。

大家周末好呀,我是煎鱼,由于现在这个公众号(煎鱼说)并没有留言功能,在互动交流方面总感觉缺了一块,一直觉得比较遗憾。 因此从今天起我将正式换到我的新号(我要煎鱼说)去开更了,欢迎大家再次关注我,新号的二维码如下: 感谢你的再次关注,如果你身边也有朋友关注了我,欢迎周知一下。 又要重新开始了,想想就激动。阅读全文

Segmentfault 2019-09-23 19:02:35 煎鱼

看看这篇拯救发际线的干货吧--警惕 Go 编程陷阱

在2019年08月17日举办的 Gopher Meetup(深圳站)活动上,来自 Bindo Labs 公司的李雄飞进行了 《Go 编程陷阱》的演讲。李雄飞,Bindo Labs 后端技术负责人,全栈工程师。从事POS/支付业务架构以及通用Web系统建设工作,主要关注New SQL/ETL/Kubernetes等领域技术发展。以下为演讲实录。前言我大概是从 2015 年开始写下第一行 Go 代码,今天主要给大家分享我这几年以来所积累的一些让我非常难受地方以及感到崩溃的一些 BUG,我希望我的这些...阅读全文

微信公众平台 2019-09-21 22:57:41 Go中国