[go语言]函数

1 Go函数介绍 go函数不支持重载,默认参数。支持: 无需声明原型 不定长变参 多返回值 命名返回值参数 匿名函数 闭包 2 函数定义 1)函数定义方式如下 func 函数名(参数名 参数类型))(返回参数名 返回参数类型){ 函数语句 return 返回值 } 2)返回多个值 函数返回值可以是多个值,比如: func sum(x int ,y int ) (s int,err error){ return x+y,nil } 可省略返回值名称,只保留返回类型。 3)命名返回参...阅读全文

CSDN博客 2013-04-22 23:06 sxt102400

go语言入门-安装-编写-运行

一、安装 把下载的GO语言解压后放到C盘。   二、进行变量设定。 在环增变量-系统变量中我们共增加了五个全局变量,具体名字是 1、变量名:GOBIN  变量值:c:\go\bin    它的意思就是GO的编译目录在c:\go\bin这个文件夹里。 2、变量名:GOROOT  变量值:c:\go       它的意思就是GO的主目录在c:\go这个文件夹里. 3、变量名:GOOS  变量值:mingw      如果你下载的是第二个地址的话,这个变量值应当是win...阅读全文

CSDN博客 2012-10-08 17:27 yjflinchong

go语言和java+jetty的web hello world 性能测试对比

公司现在的搜索服务RESTful架构一直是使用java + jetty; jetty的简单和高效一直很让人喜欢,搜索的RESTful架构两年来一直很稳定;但是软负载keepalived上想添加些业务的控制模块,可是keepalived没有专门的开发接口,自己新开发一套?对成本和性能、稳定性要求很高,考虑过scala 、lisp 、c 都觉得不合适,需要开发周期,性能都要考虑进去,go语言出来也两年多了,所以去关注了一下;下面是go对比jetty的性能测试。(注:go 语言的web没有服务容器这个...阅读全文

CSDN博客 2013-02-21 11:29 Xiao_Qiang_

golang快速排序算法

go语言真的是很简洁,下面用它来实现快速排序算法package qsort func quickSort(values []int, left int, right int) { if left < right { // 设置基准值 temp := values[left] // 设置哨兵 i, j := left, right for { // 从右向左找,找到第一个比基准值小的数 for values[j] >= temp && i < j { j-- } // 从左向右找,找到第一个比基准...阅读全文

51CTO博客 2014-11-11 10:43:54 ustb80

go array和slice区别

来源: http://www.2cto.com/kf/201401/274536.html 老虞http://www.cnblogs.com/howDo/ 一 数组简介 数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。 注意:和C中的数组相比,又是有一些不同的 1. ...阅读全文

CSDN博客 2014-09-19 22:21 lmxmimihuhu

go语言之变量声明

func main() {   s := "a"   fmt.Println(&s, s)   s, i := "ab", 44                //s被重新赋值   fmt.Println(&s, s, &i, i)   {     s, i = "abc", 250     fmt.Println(&s, s, &i, i)     s := 1000                  //在代码块中,s被重新定义     fmt.Println(&s, s)  ...阅读全文

博客园 2014-10-07 17:34 yjzhg

PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)

目录:   一、Thrift1和Thrift2的简要介绍     1) 写在前面     2) Thrift1和Thrift2的区别    二、Thrift0.9.2的安装     1) 安装依赖插件     2) Thrift0.9.2的编译      3) Thrift0.9.2编译后,配置成可执行文件   三、Hbase0.96.2的安装     1) Hbase的介绍     2) Hbase的安装     3) Hbase基于源码的Thrift生成接口文件   四、PHP和Golang...阅读全文

博客园 2014-08-22 01:31 lion.net

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录:   一、什么是Thrift?     1) Thrift内部框架一瞥     2) 支持的数据传输格式、数据传输方式和服务模型     3) Thrift IDL   二、Thrift的官方网站在哪里?   三、在哪里下载?需要哪些组件的支持?   四、如何安装?   五、Golang、Java、Python、PHP之间通过Thrift实现跨语言调用     1) Golang 客户端和服务端的实现及交互     2) python 客户端的实现与golang 服务端的交互     3)...阅读全文

博客园 2014-08-17 22:19 lion.net

比特币挖矿机开发之路(一)

开发分为两个部分,part A:LSP(Live Sequence Protocol)的开发 , part B:Distributed Bitcoin Miner 文档位置:https://github.com/modiziri/p1 正文: 【首先要说一下低级网络协议,之所以称之为低级是因为这种IP只能提供不可靠的数据传递服务,也就是说,这种简单的数据传输很容易导致延迟,丢包和重复。而且,还有最大字节的限制。不过,值得庆幸的是,低于1500字节的传输还是相对很安全的,不过要是超过,那就很容易发...阅读全文

CSDN博客 2014-03-13 21:00 modiziri

比特币挖矿机开发(二)

LSP API:   我们现在利用GO语言来撰写LSP协议。你必须用准确的API来促进自动测试,这样子就能保证在不同的运行中的兼容性问题。 LSP的API可以在lsp文件夹中被找到,这部分也是代码的开始。文件定义了几种输出,包括借口,界面和常数,同时也提供了详细的文件描述,讲述了内容和兼容各种层面的API。可以定期的查询。   LSP信息: 不同的LSP信息被定义成如下的常数整形: type MsgType int const ( MsgConnect MsgType =iota // Conn...阅读全文

CSDN博客 2014-03-17 09:02 modiziri

比特币挖矿机开发(三)【go语言学习】

这里讲一下project A的开始代码。同时测试代码也会给你的操作评分评等级。还有文件里的两个简单输出,服务器和客户端(分别在srunner 和 crunner里)可以帮你测试自己的代码是否按照要求运行。注意,上面的这些代码和指令都是假设你把go语言的路径设定在根目录“p1”下的。 如果你有任何建立,安装和测试文件的问题,http://golang.org/doc/code.html可以去这里看看“ How to Write Go Code”。这是一个学习go工作区运行和组织语言的一个好资...阅读全文

CSDN博客 2014-03-18 10:51 modiziri

Golang的不定参数

在很多语言中都提供了不定参数和函数重载以及函数式语言中得闭包来提高函数的灵活性。如果使用过fmt包里的函数,那么你就已经接触到了Golang的不定参数了。那么如何定义一个自己的不定参数的函数呢?一、函数定义首先来看如何定义一个不定参数的函数:func YourFun(v... interface{}){ }该函数定义,定义了一个接受任何数目任何类型参数的函数。这里特殊的语法是三个点“...”,在一个变量后面加上三个点后,表示从该处开始接受不定参数,不同于python,golang的不定参数如果将...阅读全文

51CTO博客 2014-08-28 02:24:35 gotaly

【Go web开发之revel+mgo】第8章 实现Email墙

演示地址   http://gblog-revel.herokuapp.com/ 1.设计Email墙页面 呀,什么是email墙啊,这,博主,随便扯了点东西把,不知到大家西部喜欢,先来做,后面看效果吧。 首先在views/App下新建Emails.html 内容: {{set . "title" "Email list - GBlog"}} {{set . "ema" "active" }} {{template "header.html" .}} <div class="con...阅读全文

CSDN博客 2014-04-26 15:00 joveth

【Go web开发之revel+mgo】第7章 实现归档

1.设计归档页面 首先在开始之前,我要说一下,有的同学在做的时候可能发现import的时候,一会是"MyTest/app/models",一会是"GBlog/app/models" 这是我的错,没有说明,我自己完成的是GBlog项目,现在做的教程是拿MyTest这个给大家做的,所以把前面改成你的项目名称就行,不用跟我这一样。为什么要特别说一下呢,我怕有些同学,做的时候出了错,而找不到原因,自己明明跟着教程做的为什么是错的呢。这样可能打击他的兴趣。所以这里说明一下。本来我想回去都改一下的,毕竟也花...阅读全文

CSDN博客 2014-04-26 13:58 joveth

【Go web开发之revel+mgo】第6章 实现留言板功能

演示地址   http://gblog-revel.herokuapp.com/ 1.实现留言板 我们在上一章做了简单的设计,挑就留言的表单有了,那么。。。。。 首先,在app/models下新建message.go 内容: package models import ( "github.com/revel/revel" "labix.org/v2/mgo/bson" "time" ) type Message struct{ Email string QQ string ...阅读全文

CSDN博客 2014-04-25 17:19 joveth

【Go web开发之revel+mgo】第4章 实现评论功能

sorry,各位在开始这一章之前请各位先到,第5章把整个项目的css  copy出来,这一章忘了加,本来想在后面加的,但是发现页面的内容太多了 1.设计评论页面 上一章我们做了简单的写blog和显示功能,这里不得不说一下,首先,我们的blog里面不能加图片链接这样的东西,不支持markdown语法。博主比较懒,尝试找了几个插件发现不满意之后就不想尝试了(其实能找到github编写wiki的编辑器才是我想要的,有谁知道的告诉我哦),大家可以自己尝试去找一些自己喜欢的编辑器(虽然revel中文社...阅读全文

CSDN博客 2014-04-25 16:26 joveth