Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成 hello.go 编写待测试的函数 package hello import "log" func main() { log.Print…
分类:go语言
Go语言学习笔记 - 接口
接口定义 接口是一个或多个方法签名集合,任何类型的方法集中只要拥有与之对应的全部方法,就表示它“实现”了该接口,无须在该类型上显示添加接口声明。 所谓对应方法,是指有相同名称、参数列表(不包含参数名)以及返回值。发然…
go 入门(六)2018-07-19
常用内置接口 Stringer 类似java中的toString方法实现,fmt 和其他包使用该接口的String()方法打印 Error go程序使用error值来表示错误状态 Reader io包中有Reader接口…
go入门(三)流程控制 2018-07-19
流程控制语句 流控制关键字 for/if/else/switch/defer for go中的唯一循环结构,不能有括号,循环体包含在{}中 - for循环条件不加() - for循环条件中的前置和后置语句可以为空 - f…
go语言HTTP GET解析URL中的查询参数
go语言HTTP GET解析URL中的查询参数 经常我们会使用下面的逻辑来处理查询参数: func myHandler(w http.ResponseWriter, r *http.Request) { vars := …
在 Go 语言中使用 Protobuf
简介 Protobuf 源码中默认实现了对 C++, Java, C#, Python 等语言的生成器插件,但是没有 Go 语言的生成器插件。Go 语言的生成器插件是在另一个叫 golang/protobuf 的项目中提…
在Go函数中调用c动态库
在很多场景下,在Go的程序中需要调用c函数或者是用c编写的库(底层驱动,算法等,不想用Go语言再去造一遍轮子,复用现有的c库)。 那么该如何调用呢?Go可是更好的C语言啊,当然提供了和c语言交互的功能,称为Cgo! Cg…
go generate介绍
介绍 go generate命令是go 1.4版本里面新添加的一个命令,当运行go generate时,它将扫描与当前包相关的源代码文件,找出所有包含”//go:generate”的特殊注释,提取…
go functional programming 第一弹
本文不是一个详细的教材,只是摘录下我遇到的第一个go写的functional 型的使用 先上下代码 package main import "fmt" //定义一个functional的type,类型的细节其实就是一个从…
Golang Mysql笔记(二)--- CURD基础
数据库查询 我们了解了数据库连接与连接池。拿到了连接当然就是为了跟数据库交互。对于数据库交互,无怪乎两类操作,读和写。其中怎么读,怎么写,读和写的过程糅合一起就会遇到复杂的事务。本篇内容主要关注数据库的读写操作,后面再涉…
《Go 语言实战》摘抄
第 19 页 在 Go 语言中,所有的变量都以值得方式传递。因为指针变量的值是所指向的内存地址,在函数间传递指针变量,是在传递这个地址值,所以依旧被看作以值得方式在传递。 第 39 页 可以访问 http://golan…
GOLang AST库使用
基础结构说明 普通Node,不是特定语法结构,属于某个语法结构的一部分. Comment 表示一行注释 // 或者 / / CommentGroup 表示多行注释 Field 表示结构体中的一个定义或者变量,或者函数签名…