函数式编程——把函数作为参数

函数式编程

函数式编程

网上不少函数式编程的概念都说得好抽象,看不懂,还不如码点代码来得清晰。本文以go语言为例,实践一个函数式编程中小点:把函数作为参数。这也是函数式语言与其他语言的一个很重要的区别,可以显著减少代码量。

实践:把函数作为参数

先看段段代码:[……]

全文阅读

【go语言】修改URL中的query失效的原因

用go语言来修改URL的query部分后,得到的URL尽然没有变化,也就是说修改URL中的query失效了,追查go的URL实现源码才知道原因,这和go语言对URL的实现机制有关。

go语言的net/url包中有如下的api:

二话不说,先上段代码看看效果:

全文阅读

windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

目前go语言在window或者linux操作系统上,最好的go语言开发调试环境都是由eclipse+goclipse插件+gdb搭建的。如果你还没有搭建好go语言的开发环境,请参考这篇博文《windows下Go语言的安装和开发环境搭建》

一般大家用eclipse都是开发java,如果要开发go,那就得安装goclipse插件了,这样才能有代码高亮、自动编译、联想提示、跳转到函数定义等丰富功[……]

全文阅读

Go语言出中文书籍啦!

现在比较靠谱的中文的Go语言书籍有3本:

1. 首先推荐一下:《Go语言编程》——由一个做云存储的公司“七牛”的两位大牛:许世伟和吕桂花 编著

这本书我第一时间买了,很适合阅读,书不厚,但是讲得很全面,很精练,适合有一点编程基础的同学阅读,而且这本书还可以作为手册来参考。

2. 还有一本开源的免费书籍:《Go Web 编程》——由一位乐于分享知识的朋友写的,目前还在编写阶段,但是[……]

全文阅读

如何创建、编译、打包go语言的源代码和工程进行go语言开发

go语言编译环境为Go1,下面用具体的实例来演示如何创建、编译、打包go语言的源代码和工程,如何用go的命令来进行go语言开发。

步骤如下:

  • 设置GOPATH,这个环境变量指向你的projectDir(工程目录),形如:GOPATH=/home/user/ext:/home/user/projectDir (可以设置多个工程目录,linux下用冒号分隔,windows下用分号分隔)
  • [……]

全文阅读

windows下Go语言开发环境搭建

Golang是Google的第二门编程语言,但是Golang与simple和Dart不同的是,Golang是一门系统级编程语言,也就是说他和C++、Java是同类型的语言。学习Golang是我自己的爱好和兴趣,我个人对这个语言比较看好,毕竟这个语言是在已经有了C++、Java、Javascript、Python等强大并极其流行的语言下诞生的,他就是为了补偿现有编程语言的不足,提取他们的精髓。就此创[……]

全文阅读

Golang(Go语言)中的defer的使用和机制

defer在Golang中可以被用来代替c++、java、C#中的try-catch-finally语句。

也可以一定程度上用来避免c、c++中的malloc-free和new-delete的未成对出现的风险。

defer是将需要执行的语句放到函数体的其他步骤执行后再执行,如果一个函数中有多个defer操作,那么这些defer操作会类似于放入栈中一样,先被defer的操作后执行。

原创文[……]

全文阅读