Go语言中文网 为您找到相关结果 249

Go学习笔记之:if else 条件判断

Go语言的条件判断结构也很简单。 package main import "fmt" func main() { // 基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4 == 0 { fmt.Println("8 is divisible by 4") } // if条件可以包含一个初始化表达式,这个表达式中的变量 // 是这个条件判断结构的局部变量 if num := 9; num < 0 { fmt.Println(num, "is negative") } else if num < 10 { fmt.Println(num, "has ...阅读全文

博文 2014-11-27 23:00:03 Goopand

Go 系列教程 —— 8. if-else 语句

这是我们 [Golang 系列教程](https://golangbot.com/learn-golang-series/)的第 8 篇。 if 是条件语句。if 语句的语法是 ```go if condition { } ``` 如果 `condition` 为真,则执行 `{` 和 `}` 之间的代码。 不同于其他语言,例如 C 语言,Go 语言里的 `{ }` 是必要的,即使在 `{ }` 之间只有一条语句。 if 语句还有可选的 `else if` 和 `else` 部分。 ```go if condition { } else if condition { } else { } ``` if-else 语句之间可以有任意数量的 `else if`。条件判断顺序是从上到下。如果 `i...阅读全文

博文 2017-12-09 10:24:21 Dingo1991

重量级爬虫软件Pholcus

# pholcus [![GoDoc](https://godoc.org/github.com/tsuna/gohbase?status.png)](https://godoc.org/github.com/henrylee2cn/pholcus) [![GitHub release](https://img.shields.io/github/release/henrylee2cn/pholcus.svg)](https://github.com/henrylee2cn/pholcus/releases) Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批...阅读全文

golang初始化结构体数组

最近组里新项目要求用go来写,没办法只能边看文档边写代码,今天遇到郁闷的问题,查了好久最终发现居然是一个标点符号的导致的,遂纪录之 刚刚给一个接口写单元测试时想初始化一个结构体数组,然后遍历该数组并建立http.Request进行测试,结果一直报错,最后。。。才发现golang结构体初始化的正确姿势T_T 1 requests := []AuthRequest{ 2 AuthRequest{ 3 "plain", 4 "xl_test@xunlei.net", 5 "123456", 6 "smtp", 7 3, 8 "192.168.34.104", 9 "client.example.com", 10 }, 11 AuthRequest{ 12 "plain", 13 "xl_test@...阅读全文

博文 2017-12-28 19:00:08 lit10050528

golang中new和make区别

golang 中有两个内存分配机制 :new和make,二者有明显区别. new:用来初始化一个对象,并且返回该对象的首地址.其自身是一个指针.可用于初始化任何类型 make:返回一个初始化的实例,返回的是一个实例,而不是指针,其只能用来初始化:slice,map和channel三种类型 package main import ( "fmt" ) func main() { a := new([]int) fmt.Println(a) //输出&[],a本身是一个地址 b := make([]int, 1) fmt.Println(b) //输出[0],b本身是一个slice对象,其内容默认为0 } 通过这个例子可以看出,当对slice,map以及channel进行初始化时,使用make比n...阅读全文

golang返回值为interface{}的类型判断

看标题就知道,这是一个很简单的问题,就一个函数的事,但是,今天一同学golang的几个人中,已经不止一个人问我了,在这里我就说一下,也希望对不清楚的娃有些许帮助,大神别喷,飘过就行了。 大家知道,golang对于不确定返回值可以用interface{}代替,这确实很方便,但是也带来了问题,那就是如何判断返回值是什么类型的?其实可以用反射也就是reflect来判断,通过函数 reflect.TypeOf() 即返回类型! $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

博文 2016-04-10 20:00:01 u013025612

GO中怎么处理URL编码?

比如我有一串字符串格式的URL,例如下边这样: %5B%7B%22ip%22%3A%22119.90.49.95%22%2C%22port%22%3A%228074%22%7D%2C%7B%22ip%22%3A%22119.90.49.110%22%2C%22port%22%3A%228050%22%7D%2C%7B%22ip%22%3A%22119.90.49.92%22%2C%22port%22%3A%228057%22%7D%2C%7B%22ip%22%3A%22119.90.49.104%22%2C%22port%22%3A%228016%22%7D%2C%7B%22ip%22%3A%22119.90.49.104%22%2C%22port%22%3A%228017%22%7D%2...阅读全文

Go - 以任意类型的slices作为输入参数(译)

文:Go – taking slices of any type as input parameters 译者:youngsterxyf 最近参与的一个业余项目,go-linq,让我了解到Go语言的类型系统并不是为任何类面向 对象编程而设计的。没有泛型,没有类型继承,也没有提供任何对这些特性有用的东西。 但是,提供了一个名为interface{}的类型,你可以向其赋予几乎任意类型的值,不会抛出编译错误,就像.NET的Object或Java的Object: var o interface{} o := 3.14 o := Student{Name: "Ahmet"} 我们假设你需要一个可以接收任意类型slices的函数,如果考虑如下这样实现: func Method(in []interfac...阅读全文

博文 2014-11-05 09:52:11 youngsterxyf

互联网公司【招聘Go语言开发】【北京朝阳区大望路】【初、中、高级均可】

QQ:2022722910(Alice),简历投递邮箱:2022722910(Alice)。 Go语言开发工程师(初、中、高 2-4人) 岗位职责: 1、设计并开发公司基础平台服务相关系统,包括长连接服务、推送系统、消息队列等; 2、设计并实现核心业务逻辑; 3、对研发过程中的问题分析和总结,且不断通过技术革新、架构优化以提升研发效率 任职要求: 1、2年以上c/c++/golang经验(至少精通一门); 2、熟悉TCP/IP,Http,Https,UDP等网络协议; 3、熟悉主流Web框架,了解框架设计和实现原理 4、具有较强的学习能力、分析问题和解决问题能力、对技术有钻研精神和兴趣、有良好的业务意识; 补充说明:211、985 本科及以上 ,计算机...阅读全文

Golang Read File line by line

学习什么语言都得从读文件开始,好像记得一个大神说过计算机编程就是"打开文件,操作,关闭文件"。初学Golang就记一下go语言的文件操作 Read File func main(){ rw,err := os.Open("") if err != nil { panic(err) } defer rw.Close() rb := bufio.NewReader(rw) for { line, _, err := rb.ReadLine() if err == io.EOF { break } //do something fmt.Println(string(line)) } } func main(){ rw,err := os.Open("") if err != nil { panic...阅读全文

博文 2015-06-17 20:03:57 liuyingming910

北京互联网公司【招聘高级Go语言开发】【北京朝阳区大望路】

Go语言开发工程师 岗位职责: 1、设计并开发公司基础平台服务相关系统,包括长连接服务、推送系统、消息队列等; 2、设计并实现核心业务逻辑; 3、对研发过程中的问题分析和总结,且不断通过技术革新、架构优化以提升研发效率 任职要求: 1、2年以上c/c++/golang经验(至少精通一门); 2、熟悉TCP/IP,Http,Https,UDP等网络协议; 3、熟悉主流Web框架,了解框架设计和实现原理 4、具有较强的学习能力、分析问题和解决问题能力、对技术有钻研精神和兴趣、有良好的业务意识; 联系方式: QQ:2022722910(Alice),简历投递邮箱:2022722910@qq.com。 补充说明: 重点本科及以上学历 ,计算机相关专业,技术...阅读全文

Gogland如何编译项目

项目中一共两个类,main.go调用了cmd.go中的方法。但是在编译的时候,说找不到cmd.go中的方法。看网上的文章,需要设置Run/Debug Configuration,但是按照文章做完之后,发现如下报错。 ![1489632129.png](http://studygolang.qiniudn.com/170316/1ee933517040ca4ea258f7347bd46dfe.png) 我项目的结构和Run/Debug Configuration的设置如下: ![1489632185(1).png](http://studygolang.qiniudn.com/170316/28510c1febe7481dff6ae6cc6e3f6577.png) ![...阅读全文

上海游戏公司golang招聘

上海某国企背景游戏公司招聘服务器开发,服务器主程岗位,没啥要求,只要懂go语言就可以了,2年以上工作经验,薪资待遇包你满意,公司前台是一个大美女,人事部门美女如云,公司也可以提供住宿,想换工作的同时想找女朋友的一定要联系我,QQ:1418087976...阅读全文

北京线下讲座 - PHP程序员的GO语言之路

【活动主题】 | PHP程序员的GO语言之路 —— 底层技术晋级指南 【活动性质】 l 免费 【活动介绍】 Go语言是谷歌推出的一种编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性,完美解决了其他动态语言并发协程时阻塞的问题。本次大讲堂从PHP底层技术出发,深入浅出的介绍了GO语言的概念本质与学习思路,并加以程序实例演示,为程序员底层技术晋级铺路。 【内容大纲】: 1:php程序员的底层技术晋级之路 2:遍地是坑的C,c++ 3:GO语言特性介绍 4:GO语言语法介绍 5:GO语言与PHP的比较 6:go-mysql-driver包,让你知道PHP的mysql扩展是怎样写成的 【讲师介绍】: ...阅读全文

go语言的hashmap

go语言中map的数据结构,以下只摘取了关键的几个属性: struct Bucket { uint8 tophash[BUCKETSIZE]; // top 8 bits of hash of each entry (0 = empty) Bucket *overflow; // overflow bucket, if any byte data[1]; // BUCKETSIZE keys followed by BUCKETSIZE values }; struct Hmap { uint8 B; // log_2 of # of buckets (can hold up to LOAD * 2^B items) byte *buckets; // array of 2^B Bucket...阅读全文

博文 2015-05-18 03:00:01 richmonkey

用记事本写一个go的helloworld,带有中文,执行go run 时提示“ invalid UTF-8 encoding”,求大神指点

编译过程如下: E:\005GitHub\GoStudy>go run TestGo.go # # command-line-arguments #.\TestGo.go:6:27: invalid UTF-8 encoding ``` package main import "fmt" func main(){ fmt.Printf("hello world.你好,世界!") } ``` 在使用Pycharm中的Go语言插件进行编译不会出现问...阅读全文

vim tagbar gotags无效,求大神答疑

![1.png](http://studygolang.qiniudn.com/151119/df8a3d0ae3e8f84ae5575051fad1c9e8.png) tagbar装上了 ![3.png](http://studygolang.qiniudn.com/151119/77642b703d66049b435da5c797e5babd.png) gotags也装上了 ![4.png](http://studygolang.qiniudn.com/151119/715fe1563d4a608d1fff654d08f0a5ee.png) vimrc配置文件 ![2.png](http://studygolang.qiniudn.com/151119/45c0c81b01f...阅读全文

互联网公司【招聘Go语言开发】【北京朝阳区大望路】【初、中、高级均可】

QQ:2022722910(Alice),简历投递邮箱:2022722910(Alice)。 Go语言开发工程师(初、中、高 2-4人) 岗位职责: 1、设计并开发公司基础平台服务相关系统,包括长连接服务、推送系统、消息队列等; 2、设计并实现核心业务逻辑; 3、对研发过程中的问题分析和总结,且不断通过技术革新、架构优化以提升研发效率 任职要求: 1、2年以上c/c++/golang经验(至少精通一门); 2、熟悉TCP/IP,Http,Https,UDP等网络协议; 3、熟悉主流Web框架,了解框架设计和实现原理 4、具有较强的学习能力、分析问题和解决问题能力、对技术有钻研精神和兴趣、有良好的业务意识; 补充说明:211、985 本科及以上 ,计...阅读全文

go-mysql,一个易用的mysql接口框架实现

介绍 go-mysql是一个用go写的mysql driver,使用接口类似于go自身的database sql,但是稍微有一点不同,现阶段还不支持集成进go database/sql中,但实现难度并不大,后续可能会接入。 go-mysql最先开始于mixer(一个用go实现的mysql proxy)中,随着mixer的演化,我觉得有必要将其mysql模块独立出来使用。对于mixer,后续我会详细介绍。 为什么要自己实现一套新的接口,而不是go自身的sql接口呢?最主要的原因在于我很不习惯使用Query的查询方式。go自身的query例子: age := 27 rows, err := db.Query("SELECT name FROM users WHERE age=?", age) i...阅读全文

博文 2014-10-15 00:19:21 siddontang

[Golang]也许有你不知道的,Array和Slice(1)

Golang中的array 在golang中,array是同一类型的元素的有序排列,长度不能更改,占用内存上的一段连续空间。 1)基础 首先看看array的声明: [plain] view plaincopyprint?var justiceArray [3]string var justiceArray [3]string 以上声明了justiceArray是为有3个元素的string数组,括号里面的数字是必须的,不能省略。 另外说明一下,[3]string与[2]string是两种不同类型的array。 现在对其赋值:[plain] view plaincopyprint?justiceArray = [3]string{"Superman", "Batman", "Wonder Wom...阅读全文

博文 2015-03-06 12:00:01 abv123456789

Go怎么操作h5的localStorage缓存

急求大神告诉,Go能不能操作h5的localStorage,如果能怎么清除localStorage缓存的数据,如果不能,该怎么办?在退出登录的时候清除localStorage缓存。下面是退出代码,怎加上清除localStorage func Logout(c *middleware.Context) { c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/") c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/") c.Session.Destory(c) c.Redirect(setting.AppSub...阅读全文

go使用protobuf如何判断接收到的数据?

我是刚学go的小白,最近参考golang服务器写了一个通讯程序,golang作为服务器用tcp连接unity3d,传输消息用的是protobuf。但是目前遇到一个问题就是客户端发送消息过来(有可能是各种消息,角色移动,角色请求,角色死亡等)服务器这边如何判断具体应该是哪一个消息呢?我给消息加了消息头原本是想通过消息头判断的,但是才发现protobuf在反序列化的时候就必须指定类型了,例如: mp := &message.ConnetInf{} err := proto.Unmarshal(data, mp) 反序列化时必须指定mp是我发送的ConnetInf消息。但是目前问题是在我不确定mp是什么类型的时候该如何反序列化呢?不知有没有做过的大神给指点一两句。谢谢了T ...阅读全文