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

go项目使用gox交叉编译,生成跨平台的可执行文件

【第一次安装】 1.安装gox $ go get github.com/mitchellh/gox $ cd $GOPATH/src/github.com/mitchellh/gox $ go build 2.编辑~/.bash_profile(bsh) 或者~/.zshrc(zsh) 添加一行: alias gox="$GOPATH/src/github.com/mitchellh/gox/gox" 新开终端,让设置生效。 3.生成本地工具链(如果go版本升级,比如从1.3.3升级到1.4,需要重新运行这个命令先) $ gox -build-toolchain 【交叉编译项目】 1.比如有一个项目的目录在$GPATH/src/hello $cd $GPATH/src/hello $gox ...阅读全文

谷歌 Go 语言迎来三岁生日

谷歌Go语言近日迎来了3周岁生日。谷歌在2009年11月首次宣布推出Go语言项目,截止到今天,已有数百个外部贡献者加入并参与贡献,也有大量的组织或机构开始转向Go语言,其中包括BBC Worldwide、 Canonical、CloudFlare、Heroku、Novartis、SoundCloud等。谷歌自己也使用该语言开发了一些Web应用程序以及Doodles等。 Go语言结合了动态语言易于编写的特性和静态语言的高效性,最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go开发团队曾表示,编译完成的Go程序运行速度接近C语言实现的程序。 今年3月份,谷歌发布了Go语言的第1个稳定版本,在此之后,谷歌又为该项目增加了一个包管理系统goi...阅读全文

博文 2014-10-09 16:00:08 wangguo

Uber如何使用go语言创建高效的查询服务

在2015年初我们创建了一个微服务,它只做一件事(也确实做得很好)就是地理围栏查询。一年后它成了Uber高频查询(QPS)服务,本次要讲的故事就是我们为什么创建这个服务,以及编程语言新秀Go如何帮我们快速创建和扩展该服务。 背景 在Uber,一个地理围栏就是在地表人为定义的地理区域(或多边形几何区域)。地理围栏在Uber被广泛用于基于地理位置的设置。向用户展示给定区域有哪些产品可以使用,根据特殊需要(如机场)定义区域,并在乘车高峰时在相邻区域实施动态定价是我们产品的重要应用场景。 一个科罗拉多地理围栏示例。 第一步是通过用户手机获取地理位置信息如经纬度,进而确定用户所在地理围栏。这个功能分散在多个服务或模块中。因为我们从整体架构向微服务架构迁移,我们选择将这个功能做成一个新的微服务。 使用G...阅读全文

博文 2016-05-04 11:00:00 zengmingen

高性能跨语言 RPC Hprose

_Hprose_ 是高性能远程对象服务引擎(High Performance Remote Object Service Engine)的缩写 —— 微服务首选引擎。 它是一个先进的轻量级的跨语言跨平台面向对象的高性能远程动态通讯中间件。它不仅简单易用,而且功能强大。你只需要稍许的时间去学习,就能用它轻松构建跨语言跨平台的分布式应用系统了。 它提供了高效的序列化和反序列化库,并在此基础上提供了方便灵活的 RPC 引擎。 _Hprose_ 支持众多编程语言,例如: * AAuto Quicker * ActionScript * ASP * C++ * Dart * Delphi/Free Pascal * dotNE...阅读全文

开源项目 2012-12-26 16:00:00 andot

Go 开发的跨平台 GameBoy 模拟器GoBoy

GoBoy 是一款跨平台的 Nintendo GameBoy 和 GameBoy Color 模拟器。模拟器可以运行大多数 GB 游戏和一些 CGB 游戏。此外,还提供对颜色和声音的支持。![image](https://static.oschina.net/uploads/space/2018/1123/182821_AK5D_2720166.jpg) ![image](https://static.oschina.net/uploads/space/2018/1123/183202_luzB_2720166.png...阅读全文

开源项目 2018-12-05 09:30:01 网友

栈_逆波兰表达式_计算器实现_Golang版本

借助栈与逆波兰表达式 实现一个计算器,编程语言用的是Golang。 逆波兰表达式可以讲复杂的计算过程转化为简单的操作过程,进而得出答案。 比如 (a+b)*(b-c) 按照逆波兰表达式的规则得到 :ab+bc-* 然后将该表达式的字符以及符号,按照从左到右的顺序,依次入栈,一碰到符号则将栈顶前两个元素取出,做运算然后放入栈内,重复该操作,直到表达式结束。 下面将结合栈与逆波兰表达式写一个简易计算器。 运行命令如下 go run counter.go --expression=\(3-5\)*4-\(5*8\)/3+78*9 代码示例: package main import ( "fmt" "strconv" "flag" ) type StackNode struct { Data int...阅读全文

博文 2015-06-17 20:04:05 u012807459

go语言协程问题

有2个关于协程方面的疑问 1. go语言可以轻松创建大量的协程,那么这个协程数量应该有个上限吧,一般是多少呢?是十万,还是一百万,还是更多? 2. 假如系统最多能创建100万个协程,而且每个协程里面的代码都是死循环,就是这些协程不会退出,那么当创建第1000001个协程时,程序的行为会怎样?是程序直接崩溃,还是让第1000001个协程阻塞等待,等调度器重新调度...阅读全文

go语言示例:if/else语句

if else分支在go语言里是简单明了的。 这里有个简单的例子。 if语句可以没有else。 可以在条件语句前添加别的语句。这个语句中声明的变量的作用域在所有的分支中。 注意:在go语言中条件语句没必要带圆括号。但是分支中必须有大括号。 在go语言里面没有三元条件语句,所以即使是简单的条件语句你也必须使用全机构的if语句(就是说go里没有个?:表达式 )。 Plain Text code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package main import "fmt" func main() { if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Print...阅读全文

博文 2014-10-04 19:26:01 xming4321

Web 安全扫描平台 Gryffin

Gryffin 是雅虎开发的一个大规模 Web 安全扫描平台。它不是另外一个扫描器,其主要目的是为了解决两个特定的问题 —— 覆盖率和伸缩性。 该平台采用 Go 语言开发,依赖: 1. Go 2. PhantomJS, v2 3. Sqlmap (for fuzzing SQLi) 4. Arachni (for fuzzing XSS and web vulnerabilities) 5. NSQ , 6. Kibana and Elastic search, for dashboardin...阅读全文

开源项目 2015-09-26 16:00:00 yahoo

虚拟币永续合约交易平台开发,助您引领数币交易新方向

随着数字货币期货的快速发展,广大用户看到了期货合约可以套期保值这一优势,并大力投身于合约交易之中。针对于资产量较大的用户来说,传统的周合约、季度合约已经满足不了他们的需求,永续合约不需要交割的特点更人性化,且永续合约结算快,有效提升了市场活跃度,也加大了投资者风险对冲、套期保值的机会。互融云推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。一、系统角色 二、交易流程 三、K线来源交易主要依靠外部交易所大盘行情进行交易 四、合约模型设计► 交易方式:市价交易、限价交易► 合约周期:无定时交割时间,用户可自由选择交割时间► 隔夜费设置:用户购买每超过24小时则...阅读全文

博文 2019-06-13 13:32:44 快乐的蒸饺

ArcBlock月报 | 行业大牛加入团队 首款测试版应用二季度落地

image 1 摘要 Summary 过去几个月来,ArcBlock如火如荼地开展着产品规划、开发以及社区发展规划。在日益竞争激烈的区块链世界里,团队组建是一个巨大的挑战,幸运的是,我们迎来一位优秀的工程主管加入 :陈天,他目前担任ArcBlock的研发副总裁一职。 2 产品进展 Product ArcBlock第一款应用第二季度落地 Arcblock将于第二季度推出首个面向开发者的beta测试版应用。ArcBlock的本质是一个为区块链应用设计的云服务平台(可通俗理解为区块链里的AWS、阿里云...),我们会首先面向开发者推出其部分服务,以帮助他们了解Arcblock这个平台的能力。期间,团队还会和社区一起做出多种有意思的示例来探究Arcblock在应用开发中无限的可能性。让我们拭目以待!...阅读全文

博文 2018-08-13 16:35:11 陈俊

go是函数式编程语言吗?

[2012-05-19 翻译自这里, 对原文有所扩展, 也有所删减. 版权属于原作者, 转载必须保留此声明.] go是函数式编程语言吗? 不是, 当然不是. 那么, go提供函数吗? 是的, 当然, 大多数编程语言都提供函数, go也不例外. func SayHello() { fmt.Println("Hello") } go使用关键字func定义函数, 并在函数体中编写函数逻辑. go函数可以接受参数吗? 额, 这个问题... 哦, 我懂了, 也许是我的SayHello函数给大家造成了错觉, 我会改造我的代码: func SayHelloToSomeone(name string) { fmt.Println("Hello " + name + ".") } 函数SayHelloToSo...阅读全文

博文 2014-10-04 19:26:38 coolxing

淘宝发展历程最具决定性的一次技术架构演变

今天我们重点说淘宝最重要的一次架构演变,这次演变在整个淘宝发展历程中算是最具决定性的一次,没有之一!这套架构体系,如果你能用心掌握,足可以帮助你在任何一家互联网大公司站稳脚跟!淘宝技术发展历史​前一篇文章“一位亲历者眼中的淘宝技术架构发展之路”,已经写过淘宝技术架构前两个阶段的发展历程。今天我们重点说淘宝最重要的一次架构演变,也就是第三到第四阶段。淘宝第三阶段面临的挑战​1.从人员的角度。维护一个代名工程Denali的百万级代码怪兽(虽然物理部署是分离的),从发布到上线,从人员的角度,百号人同时在一个工程上开发,一旦线上出问题,所有代码都需要回滚,从人员的角度,也基本忍受到了极致。2.从业务的角度淘宝包含太多业务:用户、商品、交易、支付...等等,代码已经严重影响到业务的效率,每个业务有各自...阅读全文

博文 2018-10-12 21:59:33 Enjoyjava

GO语言、DOCKER 和新技术

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 来源:酷壳-陈亮 上个月,作为 Go 语言的三位创始人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在新文章“Go: Ten years and climbing”中,回顾了一下 Go 语言的发展过程。其中提到,Go 语言这十年的迅猛发展大到连他们自己都没有想到,并且还成为了云计算领域中新一代的开发语言。还提到了,中国程序员对 Go 语言的热爱完全超出了他们的想象,甚至他们都不敢相信是真的。 这让我想起,我在 2015 年 5 月份拜访 Docker 公司在湾区的总部时,Docker 负责人也和我表达了相似的感叹:他们完全没有想到居然中国有那么多人喜欢 Docker,而且还有这么多人在为 Docker 做贡献,这让他...阅读全文

博文 2018-04-03 19:32:34 O4dC8OjO7ZL6

GolangRoadmap.com 值得每个Gopher关注的平台

大家好,我是平凡的檀先生。创办 [GolangRoadmap.com](https://www.golangroadmap.com/) 网站主要是收集和分享一些Golang相关的一些学习资料,努力打造Gopher一站式学习平台。另外自己比较关注云生态这块的发展,所以也会整理一些相关的知识和大家分享,希望一起学习成长。从2020年8月16日上线开始,已经滚动迭代了几个版本,欢迎持续关注平台的内容更新:[成长记录](https://www.golangroadmap.com/releaseNote/) ![www.golangroadmap.com_.png](https://static.studygolang.com/200901/0c464997790bb62c6063700b407bc...阅读全文

RobotGo v0.20.0,Golang跨平台控制鼠标键盘位图屏幕,增加全局事件监听

RobotGo v0.20.0 发布了。v0.20.0 是针对RobotGo v0.10.0优化完善的版本,用于自动化测试工具等场景。 主要变更: 增加全局事件监听 例子: mleft := robotgo.LEvent("mleft") if mleft == 0 { Println("you press...", "mouse left button") } 增加图片格式转换方法 更新CaptureScreen方法,可以不传参数 更新GetPixelColor方法 更新测试 更新文档 完善bitmap 修复BUG: 修复CaptureScreen参数问题 修复MouseToggle...阅读全文

Go语言:正则表达式的使用

Go语言的正则表达式使用很简单,示例代码: package test import ( "fmt" "regexp" ) func RegixBase() { //findTest() //findIndexTest() //findStringTest() //findChinesString() //findNumOrLowerLetter() findAndReplace() } //传入[]byte,返回[]byte func findTest() { str := "ab001234hah120210a880218end" reg := regexp.MustCompile("\\d{6}") //六位连续的数字 fmt.Println("------Find------") //...阅读全文

博文 2015-06-17 23:00:50 books1958

Go 语言走进教学

Carnegie Mellon大学的["02-201 Programming for Scientists"课程](http://www.cs.cmu.edu/~ckingsf/class/02201/),已经使用go作为教学语言,授课教师 Carl Kingsford和Phillip Compeau 最近写了一篇博客"Go 2.0 for Teaching",从教学适用性的角度提出了Go 2.0应该做哪些改进的需求。 Go 教学相关其他资源: 1. [用Go语言进行分布式系统教学](/resources/95) 2. [golang: The Next Great Teaching Language](/resources/336) 3. [Go 2.0 for Teach...阅读全文

傻瓜式的go modules的讲解和代码

一 国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是? 所以,我就写个傻瓜式教程了。 github地址:https://github.com/247292980/go_moudules_demo 代码很少很简单。。。。 二 1.新建文件夹 go_moudules_demo 2.go mod之,生成go.mod文件 go mod init go_moudules_demo 语法 go mod init [module] 3.创建main.go,默认包名是gomod,需要改成main 4.创建正真的存放代码的文件夹 demo和文件gomod.go,注意不能与main放在同一文件夹下,因为会造成包名冲突 5.根据...阅读全文

博文 2019-03-10 11:31:03 qq_42606051

比特币如何实现—《区块链历史链条》2

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 11比特币为什么还没有挖完比特币系统靠调节难度系数保证比特币不被太快挖完。每10分钟,全网矿工共同计算一道难题,竞争记账权及比特币奖励。如果全网算力不断增长,比特币将很快被挖矿。为了保证比特币稳定在约10分钟挖出一个区块,中本聪设计矿工挖矿获得比特币的难度每过2016个区块(约2周时间)动态调整一次,令调整后的难度使得每生成一个区块的预期时间为10分钟。现在的难度系数约为480PH/s,大约是创世区块的680亿倍,也就是说,以现在的算力,全网矿工需要经过约3000万亿亿次哈希运算才能找到一个符合条件的答案,生成新的区块。 12比特币如何实现 ‘总量恒定’ 比特币是一种通缩型虚拟货币,总量是2100万个,你知道怎么...阅读全文

博文 2019-09-12 17:32:47 链客

SKY体系布局辣么大,还是先看SKY和共识吧。

天空币/SKY 是一个非常老牌的项目了,目前市值排名在100左右,其流通量非常小,只有10%,剩余代币主要是用来进行激励的,以使SKY整个体系能够良好的、蓬勃的发展。SKY整个体系是比较复杂的,其生态包含方方面面的产品,使用一张图来理解一下SKY生态 支撑以上架构的是SKY的五个核心组件Skycoin: 由带宽支持的快速、安全的货币。Skywire: 真正的去中心化网状网络。Skyminer: 实现Skywire真正的去中心化网状网络的硬件设施。Fiber: 开放的去中心化区块链网络。Skysuite: 分布式应用程序套件。从上图各个产品对标的各种产品,就可以看出SKY想要做的生态是非常庞大的,有对标比特币的Skycoin,有对标以太坊智能合约的CX,有对标分布式存储的CXO,由对标互联网体...阅读全文

博文 2018-08-26 18:34:55 李柯__

GO语言篇:一、GO基于centos7的搭建部署

简单介绍:Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 本次学习是在centos7的环境下,对操作系统并没有要求,内存够用CPU不卡顿的前提下就可以跑了 1、到golang官网下载go的包:https://golang.org/dl/下载后解压到/u...阅读全文

博文 2018-08-10 19:35:30 21只猫

弹幕barrage

## barrage 各直播平台弹幕协议和开放平台API ## 支持列表 * **douyu.com** ```go package main import ( "fmt" "github.com/songtianyi/barrage/douyu" "github.com/songtianyi/rrframework/logs" ) func chatmsg(msg *douyu.Message) { level := msg.GetStringField("level") nn := msg.GetStringField("nn") txt := msg.GetStringField("txt") logs.Info(fmt.Sp...阅读全文

分享一个快速构建 RESTful API的Go 框架snake

snake snake 一款适合于快速开发业务的Go框架,主要是提供API服务。 技术栈 框架路由使用 gin 路由 中间件使用 gin 框架的中间件 数据库组件 gorm 文档使用 swagger 生成 配置文件解析库 viper 使用 JWT 进行身份鉴权认证 校验器 validator 也是 gin 框架默认的校验器,当前最新是v9版本 任务调度 cron 包管理工具 go module 测试框架 goConvey CI/CD Github Actions 特性 遵循 RESTful API 设计规范 基于 GIN WEB 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、请求频率限制、追踪 ID 等) 基于 GORM 的数据库存储 JWT 认证 支持 Swagger 文档(基于...阅读全文

博文 2020-04-11 14:32:42 如来神掌

【分布式架构】企业级分布式应用服务EDAS使用攻略

课程介绍 本课程主要讲解企业级分布式应用服务EDAS相关技术和使用方法。 企业级分布式应用服务(EDAS,Enterprise Distributed Application Service)是企业级互联网架构解决方案的核心产品,充分利用阿里云现有资源管理和服务体系,引入中间件成熟的整套分布式计算框架(包括分布式服务化框架、服务治理、运维管控、链路追踪和稳定性组件等),以应用为中心,帮助企业级客户轻松构建并托管分布式应用服务体系。 学习入口:[请点击这里](http://click.aliyun.com/m/27937/) 课程目标 掌握企业级分布式应用服务EDAS的使用 适合人群 云计算开发...阅读全文

golang channel 有缓冲 与 无缓冲 的重要区别

golang channel 有缓冲 与 无缓冲 是有重要区别的 我之前天真的认为 有缓冲与无缓冲的区别 只是 无缓冲的 是 默认 缓冲 为1 的缓冲式 其实是彻底错误的,无缓冲的与有缓冲channel有着重大差别 那就是一个是同步的 一个是非同步的 怎么说?比如 c1:=make(chan int) 无缓冲 c2:=make(chan int,1) 有缓冲 c1<-1 无缓冲的 不仅仅是 向 c1 通道放 1 而是 一直要有别的携程 <-c1 接手了 这个参数,那么c1<-1才会继续下去,要不然就一直阻塞着 而 c2<-1 则不会阻塞,因为缓冲大小是1 (其实是缓冲大小为0)只有当 放第二个值的时候 第一个还没被人拿走,这时候才会阻塞。 打个比喻 无缓冲的 就是一个送信人去你家门口送信 ,...阅读全文

博文 2016-10-11 03:01:32 tree2013

分布式文件菠菜平台搭建系统go-fastdfs

分布式文件系统go-fastdfs(类fastdfs)菠菜平台搭建 地瓜源码论坛diguaym.com联系方式:QQ:2152876294在运维管理等方面优于fastdfs,更人性化支持curl命令上传 支持浏览器上传 支持HTTP下载 支持多机自动同步 类fastdfs 高性能 (使用leveldb作为kv库) 高可靠(设计极其简单,使用成熟组件) 优点无依赖(单一文件) 自动同步 失败自动修复 按天分目录方便维护 支持不同的场景 文件自动去重 支持目录自定义 支持保留原文件名 支持自动生成唯一文件名 支持浏览器上...阅读全文

博文 2019-02-12 17:35:17 dfgdfgdfds

请教:如果设置让窗体不在任务栏里出现(测试设置窗体WS_EX_TOOLWINDOW属性无效果)

下面是测试代码,是我哪里弄错了,请高手指教,谢谢。 ```go package main import ( "github.com/lxn/walk" "github.com/lxn/walk/declarative" "github.com/lxn/win" ) func main() { form := new(walk.MainWindow) declarative.MainWindow{ AssignTo: &form, Title: "test", Size: declarative.Size{300, 300}, }.Create() setFormStyle(form) form.Run(...阅读全文

golang-统一异常处理

在我们意料中的,使用 error, 意料之外的用 panic 异常分为系统异常, 和 业务异常! 业务异常是可以抛给用户看的,系统异常是我们自己处理的! // 自定义异常 // 定义一个 UserError 接口 type UserError interface { error Message() string } 里一个地方实现了 上面的 UserError 异常接口 // 实现 UserError 接口 type UserError string // 实现 UserError 接口 里面的方法 func (e UserError) Error() string { return e.Message() } // 实现 UserError 接口 里面的方法 func (e UserErr...阅读全文

博文 2019-12-17 22:32:42 爱吃豆包

golang 跨平台编译

第一次接触跨平台编译是在阅读 evio 源码的时候, 发现它的internal包下面的 internal_linux.go 和internal_bsd.go 定义了两个一模一样的函数名 OpenPoll() , golang 在同一个包下是不允许有同名函数的, 后来仔细阅读源码才发现 在 internal_bsd.go 文件的开头有一行注释 // +build darwin netbsd freebsd openbsd dragonfly 经过查资料,了解到这个注释是用来做跨平台编译的, 也就是 internal_bsd.go 只会在 darwin netbsd freebsd openbsd dragonfly 这些系统上参与编译, 这就解释的通了。 下面是从网上转载的golang 跨平台...阅读全文

博文 2019-05-16 20:34:41 cc180912

golang简单实现雪花算法

Twitter 的 SnowFlake 是一种经典分布式 ID 生成算法。 雪花算法 func genSnowFlake(machineId int, datacenterId int) int { // 如果想让时间戳范围更长,也可以减去一个日期 curTimeStamp := time.Now().UnixNano() / 1000000 if curTimeStamp == lastTimeStamp { // 2的12次方 -1 = 4095,每毫秒可产生4095个ID if sn > 4095 { time.Sleep(time.Millisecond) curTimeStamp = time.Now().UnixNano() / 1000000 sn = 0 } } else {...阅读全文

博文 2019-07-25 10:32:46 ihornet

Go实现海量日志收集系统(一)

项目背景 每个系统都有日志,当系统出现问题时,需要通过日志解决问题 当系统机器比较少时,登陆到服务器上查看即可满足 当系统机器规模巨大,登陆到机器上查看几乎不现实 当然即使是机器规模不大,一个系统通常也会涉及到多种语言的开发,拿我们公司来说,底层是通过c++开发的,而也业务应用层是通过Python开发的,并且即使是C++也分了很多级别应用,python这边同样也是有多个应用,那么问题来了,每次系统出问题了,如何能够迅速查问题? 好一点的情况可能是python应用层查日志发现是系统底层处理异常了,于是又叫C++同事来查,如果C++这边能够迅速定位出错误告知python层这边还好,如果错误好排查,可能就是各个开发层的都在一起查到底是哪里引起的。当然可能这样说比较笼统,但是却引发了一个问题: 当系...阅读全文

博文 2020-01-15 09:33:27 51reboot

golang 使用 iota

iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 举例如下: 1、iota只能在常量的表达式中使用。 fmt.Println(iota) 编译错误: undefined: iota 2、每次 const 出现时,都会让 iota 初始化为0.【自增长】 const a = iota // a=0const ( b = iota //b=0 c //c=1) 3、自定义类型 自增长常量经常包含一个自定义枚举类型,允许你依靠编译器完成自增设置。 type St...阅读全文

维基链WICC | 项目进展周报第55期(12.16~12.22)

技术 & 产品周报 公链建设● 实现新挂单交易,支持指定交易所ID 100%。● 支持DEX交易所服务费率的设置和使用 50%。● 完成PBFT的开发,测试,bug修复 100%。● 完成连续两个出块的开发与测试 100%。● 重构了P2P模块 100%。● 修复了ComboMoney在某些接口中不起效的bug 100%。● WASM 合约多重签名优化 100%。● WASM 更新授权检查优化 100%。● WASM 合约样例添加优化 100%。应用建设● 维基链官网添加埋点统计 100%。● JavaScript SDK BUG修复和文档编写 100%。● Kotlin SDK优化开发 100%。● Golang SDK多钱包开发 80%。● 维基时代v2.5添加CDN优化。● 批量发币后...阅读全文

博文 2019-12-25 01:32:54 WaykiChain维基链

DockOne微信分享( 一零一):构建容器服务平台(CaaS)

【编者的话】容器技术作为这两年最令人瞩目的技术,在各个行业无论是互联网还是传统行业都得到广大的应用。作为致力于打造金融行业领先的平安云,于今年引进容器技术,研发平安云容器服务平台,吧容器技术应用到业务中,推动业务和技术快速发展。本次分享的核心内容即是从用户 痛点及特征分析想如何构建平安云容器平台。分为4个部分: 容器平台定位容器平台设计容器平台架构容器平台设计技术 一、定位用户首先平安集团旗下的子公司包含了金融行业各个类别,每个子公司有自己的开发模式,对底层计算资源的需求也各有不同。 对做平台来说,所有需求都是合理的,因此平安云为用户提供不同类型的计算资源。 在提供容器之前,云平台已经存储云主机、云存储,现在云平台将提供容器服务。 定位因此我们将容器定义为虚拟机式的容器服务。提供符合平安基础...阅读全文

博文 2017-06-25 16:25:27 DarkForces.

Goroutine协程池ants

ants是一个高性能的协程池,实现了对大规模goroutine的调度管理、goroutine复用,允许使用者在开发并发程序的时候限制协程数量,复用资源,达到更高效执行任务的效果。 功能: 1. 实现了自动调度并发的goroutine,复用goroutine 2. 提供了友好的接口:任务提交、获取运行中的协程数量、动态调整协程池大小 3. 资源复用,极大节省内存使用量;在大规模批量并发任务场景下比原生goroutine并发具有更高的性...阅读全文

一文读懂什么是进程、线程、协程

进程 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序则是具有某种功能的程序,程序是运行于操作系统之上的。 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集; 数据集合是程序在执行时所需要的数据和工作区; 程序控制块(Program Control Block,简称PCB),包含进程的描述信息和控制信息,是进程存在的唯一标志。 进程具有的特征: 动态性:进程是程...阅读全文

博文 2019-09-26 21:32:53 aside section ._1OhGeD

Golang分布式并发---群体性热点淘汰算法

Golang分布式并发---群体性热点淘汰算法 在传统的算法中,要计算热点的时候,常规采用,收集所有的任务列表,然后进行排序,得出前n的热点数据。此种算法的不好地方有: 1、 需要收集所有的任务列表。任务数过多时,收集是个问题 2、 将任务列表进行排序。在此过程中,如果列表过多,则会排序时间过长。 另外如果需要进行同步的话,则在此算法中,会有个停顿。 那么我们构建一个场景,一个网吧有n个位置,每个人都可以去网吧,但规定,每次只能预约1小时,如果时间到了,则可以续费继续一个小时,如果不需要则放弃位置。 现在有m个人来网吧上网。 1、m < n时,则m个人都可以获取到上网位置 2、当m>n时,则有n个人可以获取到上网位置,剩余的人,则在等待 有两种调度算法 1、 每个人,都会定期检查自己的时间,...阅读全文

博文 2015-01-22 10:30:27 screscent

关于云计算,除了Docker,还有go

上个月,Go 语言的创始人之一,Unix 老牌黑客罗勃·派克(RobPike)在新文章中提到,Go 语言这十年的迅猛发展大到连他们自己都没有想到,并且还成为了云计算领域中新一代的开发语言,中国程序员对 Go 语言的热爱完全超出了他们的想象。 虚拟化,Docker,中国技术人 Docker 负责人也有类似的感叹感叹,完全没有想到中国居然有那么多技术人喜欢 Docker,有这么多人在为 Docker 做贡献。中国是除了美国本土之外的另一个如此喜欢 Docker 技术的国家。 Go 语言和 Docker 已经成为新一代的云计算核心技术,对待这两项技术,你是在观望,还是要学习。作为技术人员,如何识别什么样的新技术会是未来的趋势,这是这篇文章的缘起。 Go 语言是在 2009 年底开源的,我花了一个周...阅读全文

博文 2017-11-22 01:01:06 EHome_BurNing

结合阿里实战案例为你讲解分布式计算入门

课程介绍 本章针对大数据分步式计算中的相关技术进行讲解,核心讲解流式计算和内存计算技术,阐述阿里云在处理这些功能时所使用的技术,并对阿里在这里的技术优化方式进行了详细的讲解。 课程目标 • 学习分步式计算相关技术 适合人群 • 大数据开发者、爱好者 课时列表 • 课时1:流式计算概述 • 课时2:流计算与批量计算的区别 • 课时3:流式计算典型系统技术分析 • 课时4:阿里计算核心技术概述 • 课时5:有状态计算实现方式 • 课时6:StreamSQL • 课时7:大数据和数据库的结合 • 课时8:分析型数据库服务ADS • 课时9:统一计算框架 开始学习:http://click.al...阅读全文