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

golang的select典型用法

golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan int, 1) ch2 := make (chan int, 1) ... select { case <-ch1: fmt.Println("ch1 pop one element") case <-ch2: fmt.Println("ch2 pop one element") } 注意到 select 的代码形式和 switch 非常相似, 不过 select 的 case 里的操作语句只能是【IO 操作】 。 此示例里面 select 会一直等待等到某个 case 语句完成, 也就是等到成功从...阅读全文

博文 2015-02-15 18:23:33 YanyiWu

【社区福利】使用优惠价格购买《Go Web 编程》

Go 语言中文网的朋友们,大家好,我是《Go Web 编程》一书的译者黄健宏。 《Go Web 编程》这本书会以一个网络论坛作为例子,教授读者如何使用请求处理器、多路复用器、模板引擎、存储系统等核心组件去构建一个 Go Web 应用,然后在该应用的基础上,构建出相应的 Web 服务;并且除了教授具体的 Web 开发方法之外,《Go Web 编程》还会教授读者测试和部署 Go Web 应用的方法,帮助读者登堂入室、一步到位成为真正具有生产力的 Go Web 开发人员。 《Go Web 编程》目前正在人民邮电出版社的异步社区进行预售,预计将于 12 月 8 日正式发售:http://www.epubit.com.cn/book/details/4705 因为 Go 语言中文网是...阅读全文

根据输入的日期(年月日)判断是星期几——golang实现

输入日期,如2018年11月07日,输出对应的星期数代码如下: // 历史上的某一天是星期几?未来的某一天是星期几? // 关于这个问题,最著名的计算公式是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 // output: w: 0 - 周日; // 1 - 周一; // 2 - 周二; // 3 - 周三; // 4 - 周四; // 5 - 周五; // 6 - 周六; // 公式中的符号含义如下,w:星期; // c:世纪-1; // y:年(两位数); // m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算) // d:日;...阅读全文

博文 2018-11-08 00:34:44 逍遥子_

安卓码农:想转后端开发,什么高并发高吞吐听着就很牛的样子!

相比后端开发来说,移动端开发算是后来者了,自从进入智能手机时代,智能手机的诞生,越来越多程序员们加入移动端开发的行列,觉得移动开发更有前途,不过每一种感觉都是会随着时间的变化而变化的,现在看来,移动端开发的热度稍微降了一点,并不是那么热了,但是也并不差,近期,一名安卓程序员网友给我们分享了他个人的一个想法。 据这名安卓程序员网友说,他已经从事安卓开发三年了,感觉移动端技术栈实在太窄了,只能这一个方向一直搞一直搞,然后越搞越窄,即使深入到底层又能怎么样呢,移动端还是以应用为主,并且app里原生开发的比重越来越小,想有机会转Java后端,感觉后端的天地更广阔些,什么高吞吐高并发的听着就很牛,这是他个人对目前情况的一些分析,由于对后端没什么经验,他更多的是想听听大家的建议,针对他这样的想法与观点,...阅读全文

博文 2019-01-16 23:34:43 上世是朵花

程序员:5年php开发,发展有限准备转go,网友:你还会转回来的!

如果是搞编程工作,第一个基本条件就是必须会一门计算机语言,这是入门编程行业的首要条件了,随着工作经验的积累,就会发现计算机语言只是一个工具而已,最重要的是编程思想及一些程序员的必备素养。经常有人会问到一个5年的程序员应该要掌握多少门计算机语言,这个问题没有固定答案,如果必须要一个答案,我想应该是这样,首先要精通一门主流语言,在这个基础之上,看个人精力而定了,如果一门语言都不精通,会的语言再多也是没有什么竞争力的。近期有一名程序员网友分享了他的一些情况。 这名程序员网友目前坐标深圳,已经从事5年php开发工作,最近他抽空研究了一下网站招聘信息,感觉php的后期发展还是很有限,因此他决定转go(也可以和php结合),他认为go是静态语言,而python与php都是动态语言,他准备学习一个不一样类...阅读全文

博文 2018-10-02 21:34:41 上世是朵花

三门问题(蒙提霍尔悖论)分析与Golang模拟

问题描述 三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机率? 答案 答案是会。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。 争议 有人认为,在主持人排除了一个门之后,汽车只可能在另外两个门中,所...阅读全文

博文 2019-10-10 18:32:43 aside section ._1OhGeD

挖矿究竟怎么挖?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 本节内容你将学到以下几个概念: 挖矿(Mining)、矿工(Miner)与矿池(Pool)、双重支付(Double-Spend) ▍ 挖矿(Mining) 类比:挖掘黄金 对于刚刚接触比特币的用户来说,感觉最不可思议的术语就是“挖矿”了, 一个运行在网络上的数字大账本,还需要动用挖掘机吗?实际上“挖矿”只是一种类比,与黄金的挖掘方式相类比,黄金的开采费时费力,而且黄金资源有限。比特币的挖取也是费时(需要大量的计算)、费电(专业矿机需要充足的电力),而且BTC资源也有限,总量2100万个,每四年新币数量减半。 在第上一章介绍“交易”的概念时提到,BTC是通过交易链一层一层传递的,而最初的币是从哪里来的?就是通过“挖...阅读全文

博文 2019-09-24 13:32:48 链客

求两圆交点算法代码(golang实现)

数学求解原理请看:求两圆相交的交点的方法 实现代码: package main import ( "math" ) //代表一个点,包含横纵坐标 type Point struct { X, Y float64 } //代表一个圆,包含横纵坐标及半径 type Circle struct { Point R float64 } //创建圆对象 func NewCircle(x, y, r float64) *Circle { return &Circle{Point{x, y}, r} } //求两圆相交的交点,交点个数可能有0,1,2 func Intersect(a *Circle, b *Circle) (p []Point) { dx, dy := b.X - a.X, b.Y - ...阅读全文

博文 2017-09-03 07:04:59 imroc

分布式事务中间件Seata的设计原理

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,在某些服务出现故障时也不会影响其它服务的正常运行。总之,微服务在业务的高速发展中带给我们越来越多的优势,但是微服务并不是十全十美,因此不能盲目过度滥用,它有很多不足,而且会给系统带来一定的复杂度,其中伴随而来的分布式事务问题,是微服务架构体系下必然需要处理的一个痛点,也是业界一直关注的一个领域,因此也出现了诸如 CAP 和 BASE 等理论。 在今年年初,阿里开源了一个分布式事务中间件,起初起名为 Fescar,后改名为 Seata,在它...阅读全文

博文 2019-07-11 01:32:40 公众号_后端进阶

2019年度总结

2019年目标 2019年,可能当时心里有目标,但是没有写出来,更没有使用OKR的方式表达出来,现在年底往前翻目标的时候,已经忘记了自己的出发点。 2019年大事记 2019年,最大的事情,应该就是放弃创业,选择加入了小年糕这家公司,现在来看当时的决定,是一个非常正确的选择,虽然也经历了大概半年的挣扎和磨合,但是我很喜欢这里,学习到很多其他地方学习不到的东西,也有很多想感谢的人。 3月入职小年糕,3月主要是在适应公司文化,适应节奏。 4月上线基于谷歌论文的ABtest分层实验平台,架构比较简单,系统性能TP99在1ms左右,现在已经全量使用在小年糕的推荐系统上。用到的技术也很简单,就是本地缓存&redis缓存。 5月,重构了内容审核系统,彻底解决之前系统中的漏审和审核历史问题,系统易用性也大...阅读全文

博文 2020-01-29 05:32:40 不如假如

聊聊区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 在聊区块链(Blockchain)之前,我先推荐两本书,《区块链 从数字货币到信用社会》、《区块链 技术驱动金融》。 前一本是属于概念普及型,适合概览的去了解区块链,从区块链的基础到智能合约、以及应用都全面的进行了介绍,通俗易懂。后面一本就稍微深入一些,讲解了基本技术原理、算法、生态,但读起来也没有什么门槛。建议两本结合起来读,会对区块链理解的更为深刻一些。这两本书我都读过,所以这篇文章也算是一个读书心得。 区块链技术的产生和发展是离不开比特币的。因为比特币的诞生,区块链才得以公布于众,而且到目前为止,比特币还是区块链技术最成功的应用。但需要注意的一点是,比特币里的区块链是为比特币体系所定制的,所以比特币的区块链...阅读全文

博文 2019-09-23 16:32:49 链客

leetcode_5380

Golang: 思路:leetcode竞赛题,暴力问题,但因为go的包问题,导致我这题花了很长时间。。。 代码如下: type StringS []string func (s StringS) Len() int { return len(s) } func (s StringS) Less(i, j int) bool { return len(s[i])阅读全文

博文 2020-04-13 09:32:48 淳属虚构