[TOC] 单元测试要求 因为golang语言设计,偏向工程性,故go 单元测试对文件名和方法名,参数都有很严格的要求 测试文件名必须以xx_test.go命名 测试方法必须是 Test[^a-z] 开头 测试方法参数必…
分类:go语言
GO http server (II) Server.Handler
上一篇里讨论了 go 官方库里提供的 http 服务框架,使用者需要关心的是 Server 的 handler 域。当 Server 调用 Serve 函数时 Server.Handler 为 nil,则默认使用 htt…
Golang 优化之路——bitset
写在前面 开发过程中会经常处理集合这种数据结构,简单点的处理方法都是使用内置的map实现。但是如果要应对大量数据,例如,存放大量电话号码,使用map占用内存大的问题就会凸显出来。内存占用高又会带来一些列的问题,这里就不展…
Ubuntu搭建Go语言环境 Sublime
由于需要使用Go语言进行学习,但是不想在本机Windows上搭建Go语言环境,于是选择在虚拟机的Ubuntu16.04中搭建Go语言环境。 1、下载go语言安装包,网址是https://golang.org/dl/,根据…
golang http日志跟踪 根据协程ID
最近接手一份代码,采用的是golang revel web框架,期间不停的有运营,测试来骚扰,新手必须要老实,有问必答,来一个我就去日志文件查看一下,“尼玛,不停的刷屏,怎么看,大概什么时间,给个订单号呗”,这是我做的最…
Go入门22:接口 interface
接口简介 Go 语言不是一种“传统” 的面向对象编程语言, 所以 Go 语言并没有类和继承的概念。但是 Go 语言里有非常灵活的接口概念,通过它可以实现很多面向对象的特性。 在Go语言的实际编程中,几乎所有的数据结构都围…
go语言的变量声明并赋值运算符(:=)
go语言的变量声明并赋值运算符(:=) 基本功能 声明并且赋值一个变量,其好处是不需要写var三个字母,另外不需要写类型,go语言会自动根据赋值的内容确定类型(但是这一点我不觉得是优点,因为就不知道变量的类型是什么了)。…
比Python、Java更快的 Go 语言,能否称霸江湖?
文章来源:jb51.net 有一种语言堪称比语言排行榜前五热门选手的Python、Java更快,它就是GO语言。 Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,…
go 切片append方法
append新建newSlice查看 newSlice和slice之间的区别 slice := make([]int, 5) fmt.Printf("slice cap:%d, slice length:%d, slic…
PHP与Golang如何通信?
最近遇到的一个场景:php项目中需要使用一个第三方的功能(结巴分词),而github上面恰好有一个用Golang写好的类库。那么问题就来了,要如何实现不同语言之间的通信呢? 常规的方案: 用Golang写一个http/T…
Go语言方法和接口
定义一个结构体,将函数和结构体绑定在一起的东西就是方法 格式: func (接收者名称 接收者类型)函数名称(形参列表)(返回值列表){ 逻辑语句; } Go语言中的函数可以和任何类型绑定, 但是一般用于和结构体绑定 注…
golang对于 nil通道 close通道你所不知道的神器特性
英文原文 C1. 以下操作会引起panic P1. Closing the nil channel. 实例: func C1P1() { var ch chan int close(ch) } 结果 panic: clo…