FFT Golang 实现

最近项目要用到快速傅立叶变换,自己写了个算法,测试了下,性能和精度还可以接受 len,time= 1048576 378.186167ms diff=-0.00000000000225974794 I0.00000000000936106748成功: 进程退出代码 0. 百万级别,变换花了378ms 逆变换误差和0.000000000009 l :=mvm.PowerOf2(20) arr :=make([]complex128,l) for i,_ :=range arr{ arr[i]=co...阅读全文

博客园 2015-12-02 20:58 mjgb

golang set集合实现去重及交叉并集计算

还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个较完美的库包服务,类似python的pypi,node.js的npm… 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/?p=2944 我这边有个场景是针对数据去重,但又不是简单的去重,是有时间区间范围内的交集、并集计算。 废话不多说,我估计有不少人记不清集合的并集、差集、交集的概念了。 ...阅读全文

峰云就她了 2016-3-11 rfyiamcool

Go语言TCP Socket编程

转自: http://studygolang.com/wr?u=http%3a%2f%2ftonybai.com%2f2015%2f11%2f17%2ftcp-programming-in-golang%2f Go语言TCP Socket编程 Golang的 主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的...阅读全文

博客园 2015-12-01 10:07 leoncfor

关于golang struct interface的理解使用

前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通过 interface 类型接口实现的继承多态的效果。 一个 interface 类型定义了一个方法集做接口。 使用golang实现继承时,我们只要记得要给我们的interface类型实现一个method,就完成了对interface的使用。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到...阅读全文

峰云就她了 2016-3-11 rfyiamcool

go 常见问题

以下是我在go项目中碰到问题 1. 如何只测试指定的test文件,而不是所有的单元测试都跑一遍. go tool vet -test -v src\github.com\astaxie\beego\controller_test.go go tool vet 是个很不错的工具,里面有很强大的功能 go tool vet 参数 Usage of vet: vet [flags] directory... vet [flags] files... # Must be a single package...阅读全文

博客园 2015-11-30 23:36 baizx

Go语言的学习

1.配置环境变量 2.本地阅读报的说明和文档 不用FQ window+R 出现黑窗口 执行 godoc -http :8080 在本地浏览器 localhost:8080 回车 3多行注释 /**/ 4关键字 25 const PI =3.14 //常量的声明 type newType //一般类型 var name ="gopher" //全局变量的声明 //结构声明 type gopher struct {} //接口 type golang interface{} 5.导包小技巧 impo...阅读全文

博客园 2015-12-01 02:24 yizuochengchi20 等

Go语言Http Server源码阅读

转自:http://www.cnblogs.com/yjf512/archive/2012/08/22/2650873.html 这篇文章出现的理由是业务上需要创建一个Web Server。创建web是所有语言出现必须实现的功能之一了。在nginx+fastcgi+php广为使用的今天,这里我们不妨使用Go来进行web服务器的搭建。 前言 使用Go搭建Web服务器的包有很多,大致有下面几种方法,直接使用net包,使用net.http包,使用第三方包(比如gorilla)。使用net包就需要从tc...阅读全文

CSDN博客 2015-04-29 20:24 LeoHsiun

golang(3):beego CRUD demo (1)

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/46699343 转载请一定注明出处! 1,beego 自带crud生成工具 工具执行非常简单: bee generate scaffold post -fields="title:string,body:text" 设置模块post,里面的fileds有两个 title 和body。 bee generate scaffold post -fields="title:string...阅读全文

CSDN博客 2015-06-30 22:18 freewebsys

golang不定参数

1.有时候想一个函数中传入的参数很可能是不定的,除了可以使用: func funcname(...interface{}){ } 2.也可以将许多参数放进一个数组中,然后作为参数传入函数(或许会觉得这样有点多此一举,但是很可能存在历史遗留问题): func funcname(args []interface{}){ fmt.Print(args...) //args...是将一个数组按顺序变成不定参数传入,这个还真的挺好用的 } $(function () { $('pre.prettyprin...阅读全文

CSDN博客 2015-11-12 17:32 vrinux

在ARM平台上编译安装golang

golang也就是go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后google强大靠山什么的就不多说了。golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取golang源代码、设置golang编译环境变量、编译、配置golang运行环境变量等步骤。 注:本文选用树莓...阅读全文

CSDN博客 2015-01-20 16:59 qinxiandiqi

GO语言结构体相等性

go语言结构体相等性是通过结构体成员的相等来判断的。 之前还在疑惑errors.New返回的结构体为什么会不相等,而且Read函数会返回io.EOF,很多例子代码都会把Read返回返回的error值来和io.EOF做比较,原来io.EOF是错误对象的指针,而不是错误对象本身。一个对象被实例化再多,他们的对象指针一定是不同的,这样就可以得知Read函数返回值和io.EOF比较的原因,因为比较的就是对象指针值,是纯数字的比较,这样也就区分了对象的不同实例。阅读全文

博客园 2015-11-28 21:37 qscoding

golang判断文件或文件夹是否存在

golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断: 如果返回的错误为nil,说明文件或文件夹存在如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在如果返回的错误为其它类型,则不确定是否在存在 func PathExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil { return true, nil } if os.IsN...阅读全文

CSDN博客 2015-11-23 11:21 xielingyun

ubuntu14.04,配置GOPATH(GO语言开发代码存放目录)

一,创建GOPATH:选择一个目录或者在我们想要的地方创建一个作为GOPATH的目录,我的GOPATH是:“/home/sunylat/gopath”。 二,配置系统变量:在shell里面输入“sudo gedit /etc/environment”,在打开的文件末尾加入:“export GOPATH=/home/sunylat/gopath”。注意:这个目录是我选中的目录,替换成你使用的目录! 随后我们重启一下ubuntu,在shell里面输入“go env”,我们应该能够看到GOPATH已经...阅读全文

CSDN博客 2015-11-17 11:49 sunylat

golang比较方便的地方

golang比较方便的地方 GO在自定义类型,数组,变量覆盖,函数变量等方面比较方便。 IsXXX GO中很方便在基本类型上定义新的类型,这个虽然是个小东西,但是有时候非常好用。 经常需要定义这样的函数,譬如RTMP的消息IsAudio,IsVideo等等。如果是C++就需要定义个结构体,然后加函数: class SrsCommonMessage { public: SrsMessageHeader header; }; class SrsMessageHeader { public: int8...阅读全文

CSDN博客 2015-11-20 10:22 winlinvip

<10> go test单元测试

之前看了go官方的github上关于golang的单元测试,现在总结一下关键的地方。 单个测试 文件名必须是_test.go结尾的,这样在执行go test的时候才会执行到相应的代码 你必须import testing这个包 所有的测试用例函数必须是Test开头 测试用例会按照源代码中写的顺序依次执行 测试格式:func TestXxx(t *testing.T),Xxx部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z],例如Testintdiv是错误的函数名。 函数中通过调用t...阅读全文

CSDN博客 2015-11-26 14:41 a11101171