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

为什么选择golang写手机游戏服务器

选择golang做游戏服务器开发 经过大半年的手机游戏运营、维护、后续开发,对下一个网络游戏的服务器端开发技术选型的需求如下:1. 体系成熟,有大型成功案例2. 开发效率高3. 性能高,最好是支持并行技术充分利用多cpu资源4. 代码加密发布5. 开发逻辑简单,如多线程同步、加锁、多进程同步就比较复杂6. 易学易用,如果是新技术 可选技术对比 我对可以选择的技术平台经过自己的一些分析总结如下(一己之言): 项目 nodejs python c++/ruby erlang golang 体系成熟 4 3 5 4 3 开发效率 5 5 3 3 5 性能 3 3 5 5 4 加密发布 3 0 4 3 5 逻辑简单 5 5 3 4 5 易学易用 5 5 2 1 4 跨平台 5 5 5 5 5 其实聪...阅读全文

博文 2014-10-04 19:26:08 Creak_Phone

解数独程序分享,有问题求解!!!

下面是我写的解数独的代码,呵呵,水平有限,比较乱,但感觉解题还是比较快的,代码中的那个题号称史上最难的11级数独,不到2秒也能解出。 我有个问题,我这个程序只能得出一组答案,怎么才能得出成立的多个答案呢? 求大神帮忙看看! package main import "fmt" //数独中的单元格 type Box struct { Figure uint8 Lock bool //未填数的格可以填写的数字数目 nOp int //未填数的格可以填写的数字列表 Op []int } //数独题 t...阅读全文

golang 设计模式之选项模式

有时候一个函数会有很多参数,为了方便函数的使用,我们会给希望给一些参数设定默认值,调用时只需要传与默认值不同的参数即可,类似于 python 里面的默认参数和字典参数,虽然 golang 里面既没有默认参数也没有字典参数,但是我们有选项模式 可变长参数列表 在这之前,首先需要介绍一下可变长参数列表,顾名思义,就是参数的个数不固定,可以是一个也可以是多个,最典型的用法就是标准库里面的 fmt.Printf,语法比较简单,如下面例子实现任意多个参数的加法 func add(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum } So(add(1, 2), ShouldEqual, 3) So...阅读全文

博文 2018-03-11 13:34:40 hatlonely

RPC 的网络复用和成帧协议 TChannel

TChannel 是用于 RPC 的网络复用和成帧协议。 ### 设计目的 * 容易用多种语言实现,尤其是 JS 和 Python。 * 高性能转发路径。中间件可以快速做出转发决策。 * 请求/回复模型不再按顺序,慢速请求不会堵在队列前头,阻止后续的快速请求。 * 大型请求/响应,可能/必须分成碎片成片,逐步发送。 * 可选 checksums. * 可用于在端点之间输送多种协议,例如 HTTP+ JSON 和 Thrift...阅读全文

开源项目 2015-08-27 16:00:00 uber

理解OAuth 2.0

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。 问题是只有得到用户的授权,Google才会同意"云冲印"读取这些照片。那么,"云冲印"怎样获得用户的授权呢? 传统方法是,用户将自己的Google用户名和密码,告诉"云冲印",后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。 (1)"云冲印"为了后续的服务,...阅读全文

博文 2017-11-29 01:55:56 阮一峰的网络日志

学习Golang语言(3)

变量声明 Go语言不同于其他语言的地方在于:变量的类型在变量名之后。例如: C中: int a;而在Go中:var a int。 此外,Go语言在定义变量时候如果没有赋值,则为该变量赋值为其类型的零值。 变量声明有两种方式:使用var关键字;或者使用:= 操作符赋值。 例如: var number int //声明变量number为int数据,此时默认复制为0 number := 2 //直接声明变量number,同时赋值为2 注意 使用 := 操作符声明变量和其初始值,不必明确指明变量类型,因为初始值已经说明了变量的类型。 :=操作符同时完成了变量声明和赋值的操作。 使用:= 操作符,对于整形字面量Go语言推断其类型为int,对于浮点型字面量Go语言推断其类型为float64 对于复数字面...阅读全文

博文 2015-06-17 23:08:17 lz0426001

【译】为GatsbyJS选择一个合适的后端

文链接 Picking a back-end for GatsbyJS 作者 Ross Whitehouse 不久之前,我又心血来潮想要把我的作品集站点重做一遍(大概六个月就会有这么一次),这回,我打定主意要学着用一用Gastby。但是事情好像还没这么简单。使用Gastby完成前端部分后,你打算怎么处理后端呢?看看这篇文章吧,现在我们有非常多的选择! Gastby 背景:为什么要用Gatsby? 要说还有什么东西的选择是比无头内容管理系统(Headless Content Management System, Headless CMS)的可选项更多的,那就只有静态站点生成器(Static Site Generator, SSG)了。我们可以用Hugo(基于Golang),Jekyll(基于R...阅读全文

博文 2018-11-23 01:34:41 吴子寒

ERC721协议详解 --Solidity

pragma solidity ^0.4.20; /// Note: the ERC-165 identifier for this interface is 0x80ac58cd. interface ERC721 /* is ERC165 */ { //变更NFT所有权//NFT的创建和销毁时触发//除外情况:创建合约时,不需要transfer也可以创建和分配NFT//发起transfer时,approved address会被重置为none event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); //在NFT的approved address变更或重新确认时被触发。//z...阅读全文

博文 2018-12-19 18:34:44 kakushao

(深圳)BlockABC招聘高级后台工程师(golang&nodejs)

15k-30k /深圳 / 经验3-5年 / 本科及以上 / 全职职位诱惑:福利好,腾讯系,技术大牛,资金充裕工作职责:1、负责现有项目的后台开发工作 2、与团队小伙伴配合完成产品迭代 3、可选择性地研究具有代表性的区块链的底层技术任职资格:1、统招本科以上学历,2 年及以上工作经历2、golang 或 nodejs 服务器开发经验者优先3、责任心强,独立应变能力强,抗压能力强4、踏实勤奋加分项: 1、对区块链感兴趣(重点是感兴趣,没经验没关系,老司机可以带路)2、大型互联网公司做过优秀项目 币圈老韭菜3、独立承担过项目架构设计者工作地址深圳 - 南山区 - 科技工业园大厦有兴趣请私信:Gin_Jeff,或发简历到jeff@blockabc.com注明招聘信息来源链才网。详情:https:/...阅读全文

博文 2019-01-21 20:34:44 链才网

Windows Terminal 设置

最近装了WT,比powerShell的原装terminal好看一万个cmd的Terminal,值得上手,记录下我自己的配置。 自己配置之前也在网上浏览了下别人的配置,自己配下来发现和网上所说的有些差异。 profiles.json文件是保存在C:\Users\p\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState目录下的。在上级目录中提供了一个default.json文件,给出了默认的设置,然而修改这个默认文件是没有用的,该文件仅仅是告诉你默认设置是什么,如果你想改变默认设置,需要在profiles.json文件中override。 profiles.json中的设置在WT的项目页面有逐个的解释,...阅读全文

博文 2019-11-14 23:33:44 更多精彩内容WindowsTerminal尝鲜踩坑指南luyanfcpMac打造高效个性Terminal(一)之 iTerm你清澈又神秘SpringMVCjack_jerryoracle错误集合我想起个好名字Spring Boot 2.0.0参考手册_中