Browsed by
分类:Go包(标准库)

Go的标准库包以及第三方包相关学习使用

【译】Go 中如何进行单元测试

【译】Go 中如何进行单元测试

在写《Go语言标准库》的第九章 —— 测试 时,看到了此文,讲解挺细致,于是翻译为中文,作为学习《Go语言标准库》的第九章的补充材料。 如果你花过一些时间学习如何编程,你很可能见过许多地方提过测试。似乎每个人都在谈论测试,似乎都同意你应该进行测试,但这到底需要什么呢? 在这篇文章中,我将尝试回答这个问题,首先解释什么是测试,然后我会用 Go 去深入实际编写测试。在编写测试时,我将通过编写自定义 main 包,使用 testing 包以及更复杂的功能(如自定义 setup 和 …

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (3 人打了分, 平均分:3.67,总分:5)
Loading...
【译】子测试和子基准测试的使用

【译】子测试和子基准测试的使用

介绍 Go 1.7,testing 包在 T 和 B 类型上引入了一个 Run 方法,允许创建子测试和子基准测试。子测试和子基准测试的引入可以更好地处理故障(failures),细化控制从命令行运行的测试,并行控制,并且经常会使代码更简单、更易于维护。 Table-driven 测试 在详细介绍之前,首先讨论在 Go 中编写测试的常用方法。 一系列相关验证可以通过循环遍历一系列测试用例来实现: 通常称为 table-driven(表格驱动) 测试,相比每次测试重复相同代码,减…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (3 人打了分, 平均分:3.67,总分:5)
Loading...
标准库 expvar 实战

标准库 expvar 实战

Go 标准库有一个 expvar 包。 该软件包可以通过 JSON 格式的 HTTP API 公开您的应用程序和 Go 运行时的指标。 我认为这个软件包对于每个人 gopher 来说都是有用的。 但是,来自 godoc.org 的数据表明,没有多少人知道这个包。截止目前(2017-6-18),该包被公开的项目 import 2207 次,相比较而言,连 image 包被 import 3491 次之多。这篇文章,我想展示 expvar 包的工作原理,以及它的使用。 包简介 包…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (还没有人评分,赶紧评一下)
Loading...
Go中的JSON

Go中的JSON

用过PHP的人都知道,PHP处理JSON数据那是相当方便,json_encode和json_decode两个函数搞定一切。那么在Go中该怎么处理JSON呢? 一、encoding/json标准库 学习 json 库应该先了解 Go 中的 struct tag、reflect等知识。 1、概述 json包实现了json对象的编解码,参见RFC 4627。Json对象和go类型的映射关系请参见Marshal和Unmarshal函数的文档。 参见”JSON and Go…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (3 人打了分, 平均分:4.67,总分:5)
Loading...
标准库— 操作源码之收集go包信息:go/build

标准库— 操作源码之收集go包信息:go/build

在golang标准库中,有那么一类包,它们用于处理go项目目录结构、源码、语法、基本操作等。一般程序中可能用不到这些包,但在go工具链源码中用到了,之所以学习这些标准库,是为了更好的看go工具链的源码。首先我们来看收集go包信息的库:go/build 一、build包概述 该包文档中首先介绍了Go Path。如果对该部分还不清楚,可以看下文档的说明;或者官方其他文档;或者看 Go项目的目录结构。 如果你看过go源码,应该见到过类似这样的包注释:+build ignore。这是…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (还没有人评分,赶紧评一下)
Loading...
标准库—命令行参数解析flag

标准库—命令行参数解析flag

评论有人提到没有例子,不知道讲的是什么。因此,为了大家能够更好地理解,特意加了一个示例。其实本文更多讲解的是 flag 的实现原理,加上示例之后,就更好地知道怎么使用了。建议阅读 《Go语言标准库》一书的对应章节:flag – 命令行参数解析。 在写命令行程序(工具、server)时,对命令参数进行解析是常见的需求。各种语言一般都会提供解析命令行参数的方法或库,以方便程序员使用。如果命令行参数纯粹自己写代码解析,对于比较复杂的,还是挺费劲的。在go标准库中提供了一…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (3 人打了分, 平均分:4.33,总分:5)
Loading...
Go加密解密之AES

Go加密解密之AES

一、AES简介 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,这个标准用来替代原先的DES。AES加密数据块分组长度必须为128bit,密钥长度可以是128bit、192bit、256bit中的任意一个。 AES也是对称加密算法。关于该算法的更多信息可以参考 http://baike.baidu.com/view/2310288.htm 二、Go AES加密解密 学会了DES加密后,AES加密相当简单。…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (还没有人评分,赶紧评一下)
Loading...
Go加密解密之DES

Go加密解密之DES

接着RSA加密解密,我们继续来看看DES的加密解密 一、DES简介 DES(Data Encryption Standard)是对称加密算法,也就是加密和解密用相同的密钥。其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。D…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (还没有人评分,赶紧评一下)
Loading...
GO加密解密RSA番外篇:生成RSA密钥

GO加密解密RSA番外篇:生成RSA密钥

在《Go加密解密之RSA》中,说到了RSA密钥的生成问题,例子中的密钥,是通过openssl生成的。其实,通过那篇文章,可以很容易的反向,用Go生成openssl那样的密钥保存在文件中。该番外篇就是做这事。 一、加解密流程 首先回顾一下上篇文章加解密流程: 1、读取密钥(可以写死在一个变量中保存,也可以从一个外部文件读取) 2、通过encoding/pem中的Decode函数解析到block类型中 3、通过crypto/x509中相应的Parse方法得到密钥(即crypto/…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (还没有人评分,赶紧评一下)
Loading...
Go加密解密之RSA

Go加密解密之RSA

安全总是很重要的,各个语言对于通用的加密算法都会有实现。前段时间,用Go实现了RSA和DES的加密解密,在这分享一下。(对于RSA和DES加密算法本身,请查阅相关资料) 在PHP中,很多功能经常是一个函数解决;而Go中的却不是。本文会通过PHP加密,Go解密;Go加密,PHP解密来学习Go的RSA和DES相关的API。 该文讨论Go RSA加密解密。所有操作在linux下完成。 一、概要 这是一个非对称加密算法,一般通过公钥加密,私钥解密。 在加解密过程中,使用openssl…

阅读全文 阅读全文


好差啊挺差的一般般还行很赞 (3 人打了分, 平均分:5.00,总分:5)
Loading...