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

Go与GUI——GO语言的图形界面Walk

GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。 关于Walk界面库(官方介绍): Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 Part One:安装Walk 在浏览这部分前,请确定已经配置安装完毕go语言的环境。如果没有,可以参考go官网的Install帮助。另外,注意:这个Walk库只能运行在Go 1.1.x及以上。 要安装Walk很简单,只要运行命令:go get github.com/lxn/walk 等待命令执行完毕,这时候检查GOPATH的src与pkg下,是否有符合自己计算机环境的walk目录...阅读全文

超赞的GO语言设计模式和成例集锦

来自:http://geek.csdn.net/news/detail/100051 Go语言从面世就受到了业界的普遍关注,曾有文章分析,Go是最有可能改变未来IT技术的十大语言之一。本文作者列举了Go语言的设计模式和成例合集,并且还进行了详细的分类。 创建型模式 抽象工厂模式:提供一个接口用于创建相关对象的家族;Builder模式:使用简单的对象来构建复杂的对象;工厂方法模式:一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中;对象池模式:实例化并维护一组相同类型的对象实例;单例模式:限制类的实例,保证一个类只有一个实例。 结构模式 适配器模式:适配另一个不兼容的接口来一起工作;桥接模式:将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立...阅读全文

博文 2016-09-08 06:00:09 Blues1021

Go语言设计模式实践:迭代器(Iterator)

关于本系列 决定开个新坑。 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结。 然后这个系列也是关于设计模式的。虽然Go语言不是一门面向对象编程语言,但是很多面向对象设计模式所要解决的问题是在程序设计中客观存在的。不管用什么语言,总是要面对和解决这些问题的,只是解决的思路和途径会有所不同。所以我想就以经典的设计模式作为切入点来展开这个系列,毕竟大家对设计模式都很熟悉了,可以避免无中生有想出一些蹩脚的应用场景。 本系列的具体主题会比较灵活,计划主要包括这些方面的话题: Go语言惯用法。 设计模式的实现。特别是...阅读全文

博文 2014-10-31 03:00:01 newgame

golang数据库操作

一、准备1、MySQL :数据库服务端2、MySQL Workbench:图形界面,用于连接数据库,对数据库进行操作3、连接数据库并创建表 二、引入driver import( "database/sql" _"github.com/go-sql-driver/mysql"// "_" 引入后面的包名 而不直接使用里面的定义的函数、变量、资源等 ) 三、连接数据库 db,err := sql.Open("mysql","用户名:密码@tcp(127.0.0.1:3306)/demo?charset=utf8") Tool.Check("打开数据库",err) //执行Open函数的时候,并不会去获得数据库连接有效性,当执行数据库操作的时候才会去连接, // 当我们需要在Open之后就知道连接...阅读全文

博文 2017-08-31 03:05:19 vet_

辞职半年了,做了一个付费专栏的产品

小专栏 :https://xiaozhuanlan.com/ 小专栏是一个专业人士的创作知识社区,旨在为一些在某个领域有深度研究的小伙伴提供的写作平台,专栏需要进行申请,通过审核后即可开始您的创作。后续小专栏会推出新功能,我们愿景就是要改变技术人购买实体技术书的传统方式,转而购买电子书,购买点子技术书籍有非常多好处,总结下就是:第一环保,第二电子书更佳符合技术学习方式,第三作者可以得到更多的收入。 小专栏最看重的还是您**专业**的分享,无论关于技术、产品或者运营方面。 推荐一些目前比较不错的专栏 ## iOS 1、[iOS 成长之路](https://xiaozhuanlan.com/iosdev) 目前已经收获了超过5500元啦 面向读者:笼统的说...阅读全文

go语言设计哲学

世界是并行的----先不说宇宙,就整个地球来说,世界万物都是并行发生的;天生对并发支持良好的go语言更容易描述并行的世界; 世界是由物质组合构成的---微观世界:由小的粒子组合成大的粒子;宏观世界:由小的物体组合成大的物体; 继承只能描述现实世界的一小部分,使用继承是不全面的;go的设计选择的是组合,这个和现实世界比较吻合的设计,表现力更强; 世界是标准化的---随着生产力的发展,社会分工越来与详细,越来越多行业有了国际标准,任何一个国家的、任何一个公司只要按照这个标准生产器件,就能装配到一台机器上;IBM/PC就是硬件模块化和接口化一个最成功的例证; 软件也可如此,go的接口是duck模型,面向接口编程,而不需要显示的声明,将语言能做的事情交给语言做; 正交性--几何上的正交指的是两个向量...阅读全文

博文 2015-04-30 20:30:29 hittata

[杭州]杭州云柚科技招聘Go架构师

职位描述: 1. 负责云柚系统整体架构设计与规划; 2. 负责优化核心业务的性能指标和资源消耗; 3. 负责指导相关工程师,按照质量要求完成相关业务开发工作 任职资格: 1. 熟练掌握 C/C++, Java, Python, Go 等语言中的至少两种,本科以上学历,3年以上开发经验; 2. 有丰富的工作经验,能够独立主导要求对自己做的项目有自己深入的理解,并能持续的关注和优化自己做的项目,研究过或参与过优秀开源软件者优先; 3. 熟悉 MongoDB/Redis 应用开发,熟悉数据库原理和常用性能优化技术,以及 NoSQL 原理、使用场景以及限制; 4. 参与过大型复杂分布式互联网系统的设计、架构者优先; 5. 有较强的逻辑思维能力,善于分析、归纳、解决问题;...阅读全文

[分享]Gopher China 上海大会上的PPT

Gopher China 上海大会上的PPT [GO语言并发编程实践 by 周洋@360手机助手](http://airjd.com/view/i93qyhcy000h5ri) [Go语言在NFV场景下的应用研究 by 汪洋@华为](http://airjd.com/view/i93rjkj300009rd) [Go在猎豹移动的应用 by 毛剑](http://airjd.com/view/i93y6ubj000f9mf) [Golang与高性能DSP竞价系统](http://airjd.com/view/i93ybt65000g7pe) [用golang写一个操作系统](http://airjd.com/view/i93y5mbb000i1ga) [P2...阅读全文

怎样使页面重定向到登录界面?

在ajax页面中,用户开始在正常使用,然后我把服务器关闭,再重新启动,这个时候用户的登录数据都没有了,用户不知道数据其实服务器不接受需要重新登录,怎么在用户操作的时候重定向到登录页面,使用了http.Redirect(w, r, "/login", http.StatusFound),但是页面还是停留在当前...阅读全文

[北京]Golang游戏服务器工程师

北京钛核互动信息技术有限公司成立于2014年11月,创始人团队都是来自于Glu Mobile, Gameloft等顶尖手游公司。在游戏行业打拼了10年以上,擅长高品质精品游戏开发。开发过大量精品手机游戏、Console游戏和网游。公司坚信以人为本,以顶级的人才需要顶级的回报为目标,营造一个有激情的宽松的游戏开发环境,希望能够让游戏人才能够发挥自己的热情和潜力。 http://www.tuicool.com/articles/uEfEJf 服务器将会使用弹性云自动伸缩架构,在这里你将能够学习并开发具有国际最先进的云架构游戏服务器方案。我们招聘具有创新精神的工程师,敢创新、思维严谨、勇于承担。 **基本能力要求:** 1. 热爱玩游戏,热爱开发游戏。具备足够的游戏常识;...阅读全文

Golang分布式设计模式之-----分层设计

提到分布式系统,我们会想到很多机器,分别部署着各自的服务,然后整体组成一个分布式系统。在这类系统中,分布式系统与常规的集中式系统存在着以下三个区别。(来自分布式算法导论) 1、缺乏全局状态知识 2、缺乏全局时间帧 3、非确定性 这三大特点也成为分布式系统设计的难点。也正是如此,分布式系统的设计比常规的集中式系统要难的多。为了区别,我们称这种分布式系统为,群体分布式。这种犹如社会群体。 golang语言天生具有分布式的特点,其主要是基于协程与chan的概念。如果对golang不了解的人可以简单的去看看golang语言。 有了golang语言,我们的可执行程序,也可以设计成分布式。一个可执行程序设计成分布式,这种分布式我们成为单体分布式。这种犹如,个体,存在着很多的部件。 其与群体分布式的区别在...阅读全文

博文 2014-10-09 21:00:09 screscent

【杭州】金科文化招聘golang开发工程师

有意者请联系:yefanglin[AT]jinkejoy.com ------------------ 职位描述: 工作职责: 1. 负责 adexchange(互联网广告交易平台)的开发 2. 负责素材审核平台及运营工具的开发需求 3. 参与应用架构设计、开发及性能优化维护 任职要求: 1. 熟悉C/C++、java、Node.js,Golang,Python等开发语言中的至少一种;GO语言优先 2. 熟练使用Mysql等常用数据库 3. 熟悉TCP/IP网络编程、多线程编程,熟悉不同的IO模型,常用数据结构和算法; 4. 熟悉服务器架构;熟悉AWS优先 5. 有高并发,高性能系统开发经验优先 能熟练地在Linux或Unix上进行维护和开发...阅读全文

墨链所填写的《SmartICO V1.1 待评估ICO项目问卷调查》

该问卷调查由墨链团队于2017年8月7日填写,墨链团队对所填内容真实性负责。免责声明:如无明显问题,我们将默认对贵方所填内容保持完全信任,任何由于所填内容的虚假、夸大等不诚信因素所造成的责任或影响,需要贵方自行承担。 问卷调查 说明:对问题作出回答时无需长篇累述,如无要求,通常每个问题的回答不建议超过200个字。1、请简述贵方的项目,包括但不限于应用场景、战略目标、核心技术创新、核心特点等(请用不多于200字尽可能让我们理解该项目)。墨链(InkChain),可概括为三个关键词:独创公有链、文化资产交易平台、分布式经济生态,是以“纸贵版权”团队为核心打造的,面向大文化产业的自主区块链底层和文化资产交易平台,以及由此构建的分布式经济生态。 墨链,在早期包含了墨链区块链底层框架,及构建于其上以I...阅读全文

博文 2017-08-09 04:05:17 币圈王大炮

设计模式(golang)

设计模式的六大原则 摘自 Java开发中的23种设计模式详解 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后 面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何 基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受 到...阅读全文

博文 2017-02-15 15:20:20 Cbping

使用golang制作windows GUI图形界面 — Walk

最近在学golang,想着能否用golang来开发一个Windows图形界面软件,就开始上网找资料,查到golang有一个Walk库可以实现该功能,下面就来认识下golang的Walk。 关于Walk界面库(官方介绍): Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 开始前我们要先注意,Walk官方声明,限只支持 golang 1.8.x 以上的版本,1.7.x以下的已经不支持了。 1.我们需要先安装Walk库,运行以下命令 go get github.com/lxn/walk 因github国外服务器原因,安装时间可能需要几十秒,要耐心等待下 2.walk库安装好后,我们在项目下建立一个 test.go 文件,填入代码: pac...阅读全文

博文 2018-07-26 11:30:01 sbman

【杭州】金科文化招聘golang开发工程师

有意者请联系:yefanglin[AT]jinkejoy.com -------------------- 职位描述: 工作职责: * 负责 adexchange(互联网广告交易平台)的开发 * 负责素材审核平台及运营工具的开发需求 * 参与应用架构设计、开发及性能优化维护 任职要求: * 熟悉C/C++、java、Node.js,Golang,Python等开发语言中的至少一种;GO语言优先 * 熟练使用Mysql等常用数据库 * 熟悉TCP/IP网络编程、多线程编程,熟悉不同的IO模型,常用数据结构和算法; * 熟悉服务器架构;熟悉AWS优先 * 有高并发,高性能系统开发经验优先 能熟练地在Linux或Unix上进行维护和开发工作; 善于沟...阅读全文

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

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

golang设计模式的一些看法

golang设计模式的一些看法 对于c、c++来讲,设计的对象存在着这几个问题 1、 对象是死的,只有自己的属性,行为(函数)。没有可以自己独立执行的机制 2、 对象是存活的,有自己的属性,行为(函数),还有独立执行的活动(自己独立的线程)。但由于系统的限制,这种对象数量不能过多(线程数量不能太多)。 3、 对象是半存活的,有自己的属性,行为,没有独立的执行活动(没有自己独立的线程)。需要借助于其他对象的线程调度。 以上是c、c++语言的一些限制。其他语言不是熟悉,不进行评判。但大多数也是类似的。 那么对于golang语言来讲,设计的对象可以是 存活的,每个对象,有自己的属性,有自己的行为,也有自己的活动(通过协程来实现)。那么这样来讲,golang就可以实现对对象的完整模拟实现。就犹如我们...阅读全文

博文 2014-12-17 13:00:01 screscent

Go 在 Windows 上用户图形界面 GUI 解决方案Go-WinGUI

Go 在服务端的优势不容置疑,但是在桌面应用上却没有好的 GUI 支持,本项目是 Go 语言在 Windows 上的用户图形界面 GUI 解决方案。 本项目可以不用对你的 Go 写的网站程序做任何修改,就可以实现本地化,使用 go+html+css+js 写 Windows 本地应用。 **原理介绍** 本项目原理是写了一个本地应用,使用 cef 谷歌浏览器内核框架嵌入到应用里面实现了一个“浏览器”,然后“浏览器”里面打开 go 网站,这样就实现了一个不依赖系统浏览器的独立 gui 本地应用程序。我们可以使用方便强大的 html+css+js 完成优美的应用界面,功能可以通过 RPC,ajax 调用后端 Go Web 服务实现...阅读全文

微赛时代招聘Go语言开发工程师(北京,望京)

高级软件开发工程师(Go语言) 职责: 1. 设计和实现各种平台级软件系统和业务系统。 2. 设计或辅助设计相关系统的架构。 3. 负责和保证相关系统的稳定、持久运行。 4. 独立解决相关系统的技术问题。 要求: 1. 计算机或数学相关专业本科以上学历。 2. 从事互联网软件开发工作3~8年。 3. 有一定的互联网分布式系统设计和实现经验。 4. 主动积极,善于学习和总结,乐于分享,有较强的团队精神。 5. 基础扎实,熟悉常用数据结构和算法。 6. 熟悉Go语言,或者熟悉其他(Java或PHP)编程语言并愿意从事Go程序开发工作。 加分项: 1. 对高并发、高可用的互联网软件系统有正确、深刻的理解。 2. 熟悉消息系统和PUSH服务的构建方法。 3...阅读全文

Go语言并发的设计模式和应用场景

生成器 在Python中我们可以使用yield关键字来让一个函数成为生成器,在Go中我们可以使用信道来制造生成器(一种lazy load类似的东西)。 当然我们的信道并不是简单的做阻塞主线的功能来使用的哦。 下面是一个制作自增整数生成器的例子,直到主线向信道索要数据,我们才添加数据到信道: func xrange() chan int{ // xrange用来生成自增的整数 var ch chan int = make(chan int) go func() { // 开出一个goroutine for i := 0; ; i++ { ch <- i // 直到信道索要数据,才把i添加进信道 } }() return ch } func main() { generator := xrang...阅读全文

博文 2017-01-10 02:00:01 四明狂客

GO语言简单工厂模式

简单工厂模式的特点是工厂可以根据条件产生不同功能的类,从而达到提高程序代码的可复用性。 package main import ( "fmt" ) type Operater interface { //运算接口 Operate(int, int) int } type AddOperate struct { //加法运算类,实现了运算接口 } func (this *AddOperate)Operate(rhs int, lhs int) int { return rhs + lhs } type SubOperate struct { //减法运算类,实现了运算接口 } func (this *SubOperate)Operate(rhs int, lhs int) int { retu...阅读全文

博文 2015-09-23 18:00:01 wenjianming