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

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

golang的标准输入输出

golang中的标准输出很简单: package main import ( "fmt" ) func main() { fmt.Println("Hello world"); } 标准输入的,自己试了好多次都不行: package main import ( "fmt" ) func main() { var str string fmt.Scanln(str) fmt.Printf("INPUT :%s\n", str); } 结果发现正确的应该是在str前加&: package main import ( "fmt" ) func main() { var str string fmt.Scanln(&str) fmt.Printf("INPUT :%s\n", str); } 小记一...阅读全文

博文 2014-10-04 19:26:55 无量神通

Go项目开发----2048小游戏

刚接触go语言不久,前段时间看到一个2048的项目开发教程,于是就试着练了下手。我的环境采用的是Ubuntu Linux环境。 源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048 游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的...阅读全文

博文 2014-10-22 19:00:01 hzy305365977

[Go] --- 变量的声明和定义

Email : hahayacoder@gmail.com 1 Go中变量的声明和JavaScript很像,使用var关键字 2 Go中变量的声明、定义有好几种形式 //声明并初始化一个变量 var m int = 10 //声明初始化多个变量 var i, j, k = 1, 2, 3 //多个变量的声明(注意小括号的使用) var( no int name string ) //声明时不指明类型,通过初始化值来推导 var b = true//bool型 //一种简单的方式等价于varstrstring="Hello" str := "Hello" //Go中有一个特殊的变量_任何赋给它的值将被丢弃 _, Ret:= 2, 3 3 Go的编译器对声明却未使用的变量在报错 4 和C语言一样...阅读全文

博文 2014-10-11 16:00:02 qiurisuixiang

游戏分布式服务器gonet

gonet 游戏服务器架构,mmo架构,分布式snowflake64为整形uuid,ai行为树,配置data,游戏大部分都在内存运算,分布式缓存redis。 设计之初,建立在actor模式下的;rpc,以及消息驱动,rpc无需注册,支持int,数据,struct(struct必须要注册结构题即可);sql封装简单的orm,具体看demo websocket模式下,要在net,websocket注视掉如下代码:https://studygolang.com/articles/14842 代码除了mysql,protobuf,redis这几个第三方库以外,其他都是自己写的,方便性能和修改,主动权在自己手里 服务器之间rpc,客户端服务器之间protobuf + rpc,客...阅读全文

开源项目 2019-01-16 12:53:57 ylb

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。 hello,world: package main import "fmt" func main() { fmt.Println("hello,world") // 输出 hello,world } 1). package 将程序打包; 2). import 导入其他包,包名用双引号引住;fmt 包 —— 应该是 fo...阅读全文

博文 2014-10-24 11:36:49 陆仁贾

golang实现任意日期格式转换标准日期格式

*Fork了别人一个Repository 日期解析* 这个package的功能很简单就是将一个未知的日期格式转化为标准的日期格式,日常生活中可以作为日期的数据清洗,接下来将开发以此Repository为基础,支持可配置的自动识别日期格式的功能,Repository正在开发中,有兴趣的小伙伴可以随时提PR,共同完善,共同学习。 Repository地址: noaway/dateparse ( http://link.zhihu.com/?target=https%3A//github.com/noaway/dateparse ) 具体的使用方式如下: package main import ( "flag" "fmt" "time" "github.com/apcera/termtables"...阅读全文

博文 2017-11-23 09:56:16 诺唯

Go项目开发----2048小游戏

源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的方块在移动中碰撞,则它们会合并为一个方块,且所带数字变为两者之和。每次移动时,会有一个值为2或者4的新方块出现。当值为2048的方...阅读全文

博文 2014-10-22 14:00:01 LSoam

golang浮点数精度问题

今天遇到一个浮点数截取后计算的问题。截取后的浮点数,再作运算,会导致精度不准确。这种不是必现,而是根据你作运算的具体浮点数决定。 必须想办法100%避免这种问题。 直接上代码吧 问题代码 package main import ( "fmt" "strconv" ) func main() { var ff, e float64 e = 100.00 ff = -0.210615789 ff = FloatRound(ff, 4) fmt.Println(ff) // 输出 -0.2106 qq := ff * e fmt.Println(qq) // 输出 -21.060000000000002 } // 截取小数位数 func FloatRound(f float64, n int) f...阅读全文

博文 2018-05-10 15:33:05 丶老邪

一个月的golang服务器开发感触

好快,一个月过去了,感觉自己学得少,也感觉自己有点质的飞跃。以前用的openresty,怎么说,也很有价值,高并发,负载均衡,在某种小游戏上是可以一试的,其实我很有想法的,,,但是用来做游戏对开发这来说,太没得发展前途了,,,毕竟我觉得,起码得会很多重要的编程思想,设计模式比较好,毕竟不是产品发展方向,,,对于golang这一个月,感觉发现了新大陆一样的,了解了rpc,kcp,真正体会到了高内聚和低耦合的意义,明白了,数据库并不是那么刚需的,体会到了golang真的是天生为了解决分布式,微服务,高内聚低耦合而诞生的,还有一帮兢兢业业的大佬,心里由衷的敬畏,他们真的是程序员的样子,而不是混日子,做一天和尚,敲一天钟。希望自己不忘初心,有高追求,努力奋斗。可以用openresty做路由,gola...阅读全文

服务器框架zinx-基于Golang的轻量级TCP并发服务器框架

# Zinx [![License](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](LICENSE) [![Gitter](https://img.shields.io/badge/在线交流-Gitter-green.svg)](https://gitter.im/zinx_go/community) [![zinx详细教程](https://img.shields.io/badge/zinx详细教程-简书-red.svg)](https://www.jianshu.com/p/23d07c0a28e5) [![zinx原创书籍下载](https://img.shields.io/badge/原创书籍...阅读全文

我用 Go 语言做了一个红白机模拟器

本文由 伯乐在线 - JackalHu 翻译,toolate 校稿。未经许可,禁止转载!英文出处:fogleman。欢迎加入翻译小组。 译注:Family Computer(简称 FC)是任天堂(Nintendo)公司发行的家用游戏主机。日版 FC 机身以红色和白色为主,因此在华人圈中又有“红白机”的俗称;欧美版 FC 在欧美则称 Nintendo Entertainment System(简称 NES)。 最近我编写了一个 FC 模拟器。制作这样一个模拟器主要是出于兴趣以及为了从中学习 FC 的工作原理。在这个过程中我学到了很多有趣的知识,于是写下这篇文章同诸位分享我所学到的内容。由于相关的文档已经有很多了,所以这里我只打算讲述一些有趣的特性。请注意,接下来都将是些技术方面的内容。 图1 ...阅读全文

博文 2015-05-28 13:52:44 伯乐在线

【广州招聘】go语言开发/golang

.........................................分割线...................................... 职位描述: 1、负责棋牌游戏服务器架构优化; 2、负责棋牌游戏新游戏,活动等开发; 3、协助运维维护线上服务器。 职位要求: 1、熟悉c/c++/java,至少一年你使用经验; 2、熟悉golang,至少一年服务器开发项目经验; 3、熟悉tcp,ip,http等网络协议; 4、熟悉docker优先; 5、熟悉棋牌开发优先; 6、善于沟通,要有团队合作精神; 7、能承受一定强度的工作压力,对工作有热情,负责。 ...............阅读全文

Golang 包单例模式小记

学习golang也有一段时间了,但是对包的概念不是很清楚,这里模拟一个单例的实现 加深了对包的理解,包中变量作用域的使用 对包全局变量作用域有了理解 目录结构 mian方法 main.go package main import ( "log" "p/p1" _ "t" ) func main() { log.Print("-------下面是main-------") p1.Say() } 包 t t.go package t import ( "p/p1" ) func init() { a := p1.NewPeople() a.SetName("tttttttt") a.SetAge(188) p1.Say() } 包p/p1 p1.go package p1 import ( "l...阅读全文

博文 2016-05-14 10:00:00 soulsu

寻找同道人-go语言开发

我们的目标:建立自己的艺术电商平台 我们的语言:golang 我们的要求:热爱go语言。致力于go语言开发。 我们希望你有:2年及以上GoLang开发工作经验,1年以上Golang服务器端开发经验 我们能给你的:可以在GO语言方面得到的提升及发挥,有可以探讨并且共同成长的同事,有施展的平台与空间,富有艺术气息的工作环境,舒适良好的生活环境,当然还有很优渥的薪资待遇。 有意愿的小伙伴,快来联系我吧! QQ:1439922309 0571-8168116...阅读全文

一个新的express 风格的web framework

# Gbeta [Gbeta](https://github.com/yyrdl/Gbeta) 是一个新的express 风格的web Framework , 在性能上优于 [Martini](https://github.com/go-martini/martini),有benchmark为证。 ReadMe.md 写的有点着急,不是很详细,功能也只做了基础的,但是留足了开发middleware的接口。 现在刚刚发布第一个版本,目前还未发现issue ,但是想进一步提升性能,并在结构上做进一步优化,特来社区寻找小伙伴 ^_^ ![gbeta_logger.png](http://studygolang.qiniudn.com/160409/ebec9fe8a5a973df29...阅读全文

BaiduPCS-Go 一个开源百度网盘高速下载工具

不少人认为现在的百度云盘比较坑。其实,百度云盘一直是一个很良心的产品,不止是曾经,包括现在,这里没有任何为百度洗白的意思,试用了国内外大大小小的各种网盘产品后,可以说百度网盘是一款优秀产品。国内的网盘不能称为完全个人的网盘,可以说里面的很多文件都是指向只有一份文件的快捷方式,而国外的网盘是完全可以称得上自己的网盘,待上传的文件即使之前已经有人上传到网盘服务器上,用自己的账号会发现还是要重新上传,所以空间比较小,能上传隐私文件。 其实利用这个特性可以试一试自己的文件有没有泄露,例如:小蜜同学把之前拍的一张浴室高清无码写真上传百度云,结果发现上传结果为秒传,这可能说明已经有人得到了这张写真,至于是谁上传的,那人上传到网盘是干什么,这就不好说了。可能是卖片的,也或许是某个和小蜜特别亲近的人。 同样...阅读全文

golang调用sql server proc

许久没写博客,近来真有点郁闷,首先自己水平有限,在成为大牛的路上努力挣扎中,狰狞地挣扎,其次是不满某些人的某些态度,我觉得态度是很重要的,好,吐槽完毕。 由于项目需要,需要用到sql server。首先golang连接sql server用的是官方推荐的包github.com/denisenkom/go-mssqldb,可以直接go get。golang调用sql server存储过程是比较蛋疼的,没有什么方法可以直接调用,所以我自己写了个方法: //proc is the proc name //declare is the proc declare with the return values //in is the params in //out is the params out /...阅读全文

博文 2016-09-05 18:00:08 luomoshusheng

Go 边看边练 -《Go 学习笔记》系列(三)

上一篇: Go 边看边练 -《Go 学习笔记》系列(二) 1.7 指针 支持指针类型 *T,指针的指针 **T,以及包含包名前缀的 *.T。 默认值 nil,没有 NULL 常量。 操作符 "&" 取变量地址,"*" 透过指针访问目标对象。 不支持指针运算,不支持 "->" 运算符,直接用 "." 访问目标成员。 不能对指针做加减法等运算。 x := 1234 p := &x p++ // Error: invalid operation: p += 1 (mismatched types *int and int) 可以在 unsafe.Pointer 和任意类型指针间进行转换。 返回局部变量指针是安全的,编译器会根据需要将其分配在 GC Heap 上。 func tes...阅读全文

博文 2015-09-04 21:37:03 88250

golang实现的一个小游戏–猜数字

文同步至:http://www.waylau.com/golang-game-guess-numbe/ 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了, 代码如下: package main import ( "bufio" "fmt" "math/rand" "os" "strconv" "time" ) var ( endNum int //设置生成数的范围 ) func main() { i := createRandomNumber(endNum) //fmt.Println("生成规定范围内的整数:", i) //本句调试用 fmt.Println("请输入整数,范围为:0-", endNum) flag := true reader := bufio...阅读全文

博文 2014-11-19 01:00:02 kkkloveyou

golang 用/x/net/html写的小爬虫,爬小说

平时除了写代码,唯一的娱乐就是看看小说,放松一下大脑了。但在这个网站广告铺天盖地的环境下,想单纯的看会小说也成了一个问题了。最近在学习golang,于是就想写一个小爬虫,把小说爬下来看而不用看到讨厌的广告了。网上大多数教程都是用第三方库,很多都是用github.com/PuerkitoBio/goquery这个库,但因为从来没写过web,对jquery的语法完全是空白,而go语言圣经上的示例用到x/net/html这个google自己维护的库来爬网站的链接,于是研究了一下这个库,写了一个小爬虫,事实证明这个库写爬虫完全没问题,只不过比goquery麻烦一点,毕竟goquery是在这个库的基础上封装的,这个库更底层一点。特写下这往篇日记,记心太烂,怕过一段时间又忘了。经过这几天恶补了一下htm...阅读全文

博文 2017-08-22 10:05:01 neo_5687

今日头条广告部门招聘各种岗位(ps:最核心团队之一),待遇丰厚期权免费3餐1500房补每月

1. 关于我们: 今日头条广告系统团队,主要负责公司所有系列产品的商业变现,包括今日头条、西瓜视频、抖音、火山小视频、内涵段子等等,广告系统已经积累了几百名优秀的研发人才,打造出了海内外一流领先的信息流广告系统,每天支撑着公司数千万的稳定收入。 2. 岗位需求: -- 后台/前端研发工程师(负责国内外高并发商业平台的研发和优化) -- 算法/大数据研发工程师(研究海量数据的批量计算、实时计算) -- 投放研发工程师(广告投放平台的架构设计与优化) -- 测试开发工程师(把控广告营销平台的质量与稳定性) -- 安卓开发工程师(广告SDK的开发) 3. 待遇 今日头条待遇在国内互联网数一数二,期权,免费3餐(50元标准),每个月1500房补,过年至少几千的红包。。 ...阅读全文

go语言 接口 小记

接口理解:type Operation interface{ Cut(a Integer) Add(a Integer)}type Integer intfunc (a Integer)Cut(b int) Integer{ return a-b}func (a Integer)Add(b int)Integer{ return a+b}var a Integer =0var foo Operation = ago语言会自动根据a类型所具有的方法,也就是Integer所具有的方法 自动生成func (a *Integer)Cut(b int) Integer{ return a-b}func (a *Integer)Add(b int)Integer{ return a+b}所以说 接口中的...阅读全文

博文 2014-12-25 01:00:02 gandilong

招聘Go语言资深工程师

北京全息互信数据科技有限公司是一家专注于区块链技术和应用的公司,致力于重构区块链、建造并运营真正适合关键现实应用的去中心化的区块链云平台,充分释放其潜能、完全消除开发和运营的的技术门槛,让区块链技术真正能够落地关键的现实应用。PDX云平台DaaP是世界上目前唯一能够支持在公有链/联盟链上做真正私密应用的区块链平台。 岗位描述: 1. 负责PDX DaaP平台区块链协议栈的研发工作 2. 负责区块链基础平台的模块设计 要求: 1. 3年以上Go语言开发经验 2. 精通基于Go语言的tcp/ip的网络应用开发 3. 精通Golang leveldb的应用开发 4. 有加密应用开发的经验为佳 感兴趣的小伙伴可以发送简历到jiaxin.yuan@pdxchg.com ...阅读全文

[Go] --- map

Email : hahayacoder@gmail.com Go语言中有一种好用的数据类型叫map(映射),相当于C++中的哈希表,map用起来很简单,很C++中的使用大同小异,下面就通过实际的代码来演示Go语言中map的使用 package main import "fmt" func main() { //map哈希表 //使用map创建一个空的map string是键 int是指 m := make(map[string]int) m["one"] = 1 m["two"] = 2 m["three"] = 3 //输出map 顺序不一样 fmt.Println(m) //输出map长度 fmt.Println(len(m)) //从map中取值 value := m["two"] f...阅读全文

博文 2015-06-17 23:08:21 qiurisuixiang

go语言导入"C"出错问题

以下内容来自转载,出处:本文出自 “松松” 博客,请务必保留此出处http://dongsong.blog.51cto.com/916653/1587363 最近在看人民邮电出版社 许式伟 吕桂华编著的《Go语言编程》,看到【1.2.9 语言交互性】小节的cprint.go。未按照书中源代码格式编写,而是把 import "C" 和 import "unsafe" 合并放入小括号中并和注释结束符 */ 间隔了一行,这也是大多数Go语言学习和开发者经常使用的代码风格,我修改后的代码如下: package main /* #include #include */ import ( "C" "unsafe" ) func main() { cstr := ...阅读全文

博文 2016-04-16 15:00:01 kuoshuang

Go语言小贴士2 - 协议解析

作者:达达链接:https://zhuanlan.zhihu.com/p/21367696来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。今天这个小贴士主要介绍协议解析的一些知识,Go语言作为服务端编程语言,免不了要涉及到通讯协议解析,即便不是做网络通讯,也难免会涉及到文件解析,其实它们的知识点都是一样的。 现实应用场景中,通讯协议按通常可以分为两类:二进制协议和文本协议。Go语言内置的gob格式就是一种二进制协议,而JSON、XML等则是文本协议。 假设我们要发送123这个数值,用二进制协议只需要一个字节,因为一个字节(byte)有8个二进制位(bit),2的8次方是256,一个字节可以表达0-255之间的任意值,共256种可能性。 如果我们用文本协议发送12...阅读全文

博文 2016-08-29 12:00:01 dasn

新手求助 为什么不能加载包 我只是想做一个小爬虫 代码没有语法错误

"github.com/PuerkitoBio/goquery" func GetJokes() { doc,err:=goquery.NewDocument("http://www.qiushibaike.com") if err!=nil{ log.Fatal(err) } doc.Find(".content").Each(func(i int,s *goquery.Selection){ fmt.Println(s.Text()) }) } func main(){ fmt.Println("hello world") GetJokes() } can't load package: C:\Go\src\testapp\ma...阅读全文

Go-基础学习总结

1,背景:GO是强类型语言,其产生的原因是因为开发者认为C#,JAVA,C++太过繁重。而C也太过老旧,开发者想模仿C开发出一种接近底层的第三代语言。在当时多核时代盛行的背景下GO顺应潮流,坚持着简单的原则创造了GO 2,基础语法: 基本数据类型:int16 int32 int64 float32 float64 sring complex 3,定义 数据定义: int int[] slice var i int;i=0; var i int =0' var i,j int=0,0; i:=0 i,j:=0,0 var arr =[]int{0,1} var arr =[10]int; arr:=[10]int arr:=[...]{0,1,2,3} 指向数组的指针 这种反人类的设计,个人表...阅读全文

博文 2015-11-07 15:00:01 shuanger_

golang实现的一个小游戏–猜数字

文同步至:http://www.waylau.com/golang-game-guess-numbe/ 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了, 代码如下: package main import ( "bufio" "fmt" "math/rand" "os" "strconv" "time" ) var ( endNum int //设置生成数的范围 ) func main() { i := createRandomNumber(endNum) //fmt.Println("生成规定范围内的整数:", i) //本句调试用 fmt.Println("请输入整数,范围为:0-", endNum) flag := true reader := bufio...阅读全文

博文 2014-10-04 19:26:13 kkkloveyou

bibibi 做游戏

玩自己喜欢的游戏,如果没有,就做一个。 ---bibibi 为什么还没有做游戏 首先要回答一个问题,为什么工作5年了,还没有进入游戏行业,这要从我的工作经历讲起。 2012年毕业后,首先关注的是生存,随便进了一家愿意招我的外包公司,被公司强行从c++开发转型去做ios,当时还很不乐意,什么ios,从来没听说过,我要做我的c++,c++是世界上最好的语言,于是我向主管申请做c++,可惜主管没鸟我。没办法,工资比较重要,于是我就学起了ios,没想到,一做就是5年。 中间跳过几次槽,跳槽的时候发现ios的工作很好找,行情不错,待遇也很好,于是就一直做到现在。这些技术积累和工作经历都是可以累加的,下家公司给你高薪看重的也是这点,如果转行做游戏,那就是要从头算起,待遇大幅度降低。当一个人的事业在飞速上...阅读全文

博文 2017-09-04 09:05:09 bibibime