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

整型和字节数组之间的转换

整型和字节数组之间的转换:(以int64到[]byte之间的转换为例,其他类似) package main import ( "fmt" "encoding/binary" ) func main() { var i int64 = 2323 buf := Int64ToBytes(i) fmt.Println(buf) fmt.Println(BytesToInt64(buf)) } func Int64ToBytes(i int64) []byte { var buf = make([]byte, 8) binary.BigEndian.PutUint64(buf, uint64(i)) ...阅读全文

主题 2013-03-22 03:50:19 polaris

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

分享一个Golang 学习站点:Go by Example,示例,源码,注释

分享一个Golang 学习站点:Go by Example,示例,源码,注释 很不错的一个网站和工具。主要内容包括: 1、为 Golang 各个知识点而写的小程序(放在 play.golang.org ); 2、适当的注释; 3、整站开源,从github clone 后,读者可利用内建的工具生成本地静态文件,甚至可以生成一个网站。 网址:https://gobyexample.com/ 源码:https://github.com/mmcgrana/gobyexample 知识点目录 Hello World Values Variables Constants For If/Else Switch Arrays ...阅读全文

golang文件传输服务

续上篇,本篇介绍一个完整的golang文件传输服务器。 完整的代码可以看服务器,客户端 网络使用的框架如上篇介绍,这里就不再复述. 首先定义3个命令码: const ( request_file = 1 file_size = 2 transfering = 3 ) request_file用于请求文件传输,附带的命令参数是文件key. file_size用于通告客户端文件的大小. transfering用于传输文件内容,附带参数是文件内容的二进制数据. 服务器的文件配置示例 ../learnyouhaskell.pdf=haskell ../golang.1.1.2.chm=golang ../NodeJS.pdf=NodeJS 上面的文件配置了3个文件可供传输=左边是文件路径,右边是请求...阅读全文

博文 2014-10-04 19:25:59 sniperHW

【社区福利】使用优惠价格购买《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 语言中文网是...阅读全文

史上最简单的部署HTTPS&QUIC教程

# 前言 - emmm~,今天是9102年儿童节,都9102年了,你的网站还是万年HTTP吗,Chrome已经看你不爽很久了,得益于Let's Encrypt,现在申请TLS证书变得异常简单。 ![mark](https://cdn.sguan.top/markdown/20190601/4FHJ3R47NG9d.png?imageslim) - 本文将分享我是如何开启整站HTTPS和QUIC,网上关于QUIC的介绍文章挺多的,既然你在看这篇文章,相信是对QUIC有一定了解的,本文不在做重复介绍相关概念。 - 网上的很多文章教程略微复杂,本文将带领你从0开始部署,大学生都学得会。 - 本文使用的浏览器是Chrome73,协议是QUIC43。最终效果如下。 ![mark](https://cd...阅读全文

博文 2019-06-01 14:15:36 imqksl

离线版的Golang官方文档

由于众所周知的原因,Golang不支持国内使用。当查文档或者升级版本的时候就会比较苦恼。有的时候实在是没辙,就用必应的缓存页看文档,下载升级包也是各种想辙。每次都很麻烦。 为了我自己能方便点用,我把Golang官方文档的页面都下载下来放在我的VPS上面。VPS也不是每天都能连得上,趁昨天有机会赶紧放上去,然后用CDN加速。链接: http://cyeam.com/go/pkg/index.html 这让我想起前几天看到的一条微博。说古巴的一个网站,架设在了万恶的美帝,万恶的美帝不让他们用这个网站。古巴的屌丝们都是把这个网站整站下载到U盘里面偷出美帝进行浏览。异曲同工,哈哈哈。 下载整站用了命令: wget -r -p -np -k http://URL -r 递归下载 -p 下载html里面...阅读全文

博文 2017-02-09 12:25:37 Bryce

golang 按行读取、读取整个文件

参考如下: https://studygolang.com/articles/21868?fr=sidebar 读取整个文件的四种方式: https://www.jianshu.com/p/711c453bff16 golang 按行读取文件 file, err := os.Open("app-2019-06-01.log") if err != nil { log.Fatal(err) } defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { lineText := scanner.Text() } golang 按文件读取 b, err := ioutil.ReadFile("app-2019-...阅读全文

博文 2020-01-15 13:32:41 翻江倒海一条鱼

【GOLANG】Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时)time.Time(时间点)time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】打印...阅读全文

博文 2015-06-17 23:01:37 zhonglinzhang

如何学习c语言 零基础20天学会C语言

C语言开发 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。在这里插入图片描述 一、要读就读好书,否则不如不读 所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。 大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。加下群731871503这...阅读全文

博文 2019-01-17 17:47:34 wenpeng231

对未来的一些思考

其实我不怎么看书,买了书之后就翻一翻前面几页,就没有然后了。最近花了几天看了阮一峰的《未来世界的幸存者》,算是打破记录把整本书都看完了。 这本书写于 2017 年,从 AlphaGo 战胜人类引发对未来的思考。读完整本书也让我对现实和未来有了些新的认知。 2019 年看这本两年前的书,其实一点也不过时。不仅可以让我们对未来进行思考,还可以验证作者当时对未来的看法。 做一个有想法的人 以前的我以为只要多掌握一门或者多门编程语言,在工作中我就能比其他的程序员有更多的优势。于是我不停的学,学了 JavaScript、Python、Golang,在工作中不仅干前端的本职工作,也做了后端,甚至还干了一些运维的工作。 至于对产品的思考,基本上没有。产品经理说要做什么,能实现的基本上都会去实现。至于为什么...阅读全文

博文 2019-11-03 14:33:23 aside section._1OhGeD

从今天起,踏上go语言编程艺术之旅

刚毕业一个月,但工作已经将近一年了。从去年八月份开始到现在,一直在从事java和android的开发,主要是android sdk开发。应公司要求,中途也搞过xmpp和android ndk的开发,还学习过opengls知识。虽然这一年工作的面广,但是感觉真正的收获却甚少,因为在这样的过程自己并没有真正沉淀下来去精通一门技术。在这种需求式的学习中,对很多知识往往是一知半解,没有深究,所以常常也觉得茫然。 一年前就听说过go语言很厉害,但也没有真正去学习和研究。前些日子,初步了解了下go语言,第一感觉是代码看起来确实简洁清晰,再进一步的看了下它的并发机制和其他特性,发现它确实是一门好语言。一直以来就不喜欢java语言那种乱乱的感觉,有时候会感觉用java语言写出来的代码会让人浮躁,缺乏一种美感...阅读全文

博文 2014-10-27 19:00:01 leege100

玩了几天go语言,暗爽

以前看过go的几本书,《The way to go》还有《Programming in Go》,没有实在做什么项目,也没有写代码练习,很快就忘掉了。 这几天想写一个程序的原型,用来批量升级若干个主备集群。于是乎就拿Go语言来开始干活了。 一开始磕磕碰碰,很快地,熟悉了语法之后,发觉这个语言用起来其实是很愉快的。 首先用Go做东西不像C或者C++那样从头写一堆库,好多东西拿来就用。 多线程、内存管理、函数指针等等用C++很头痛的东西,现在就水到渠成。 佩服这个语言的设计者。目前我还没有完全用到所有的特性,再用一阵子应该能体会到更多便利之处...阅读全文

博文 2015-12-30 14:00:18 TrentZhou

使用Go语言编写的跨平台的emlog整站(首页+文章)静态化工具

emlog_static.go 项目地址: https://github.com/johnlui/emlog_static.go ==================== 功能 新闻博客类非数据交互网站通用首页静态化 emlog博客系统文章页静态化 使用Go语言编写,跨平台 条件 需要能够管理服务器,需要编译、运行软件 需要Go语言编译环境,请去The Go Programming Language 下载 使用方法 两个文件单独编译,分别运行 emlog_static_homepage 首页静态化 使用方法为: ./emlog_static_homepage -url=http://example.com/index.php -t=30 t为间隔时间,单位是秒 emlog_static_ar...阅读全文

博文 2017-02-09 13:22:18 JohnLui

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】...阅读全文

博文 2016-10-08 10:00:04 tree2013

沉迷经典的人--读梭罗《阅读》

梭罗说的真正的书,是指什么书呢?不是故事书,不是文中提到的《小阅读》和《简易读物》。在梭罗看来,这些书纯粹是废纸,读这些书,就像读今天的故事会,只需要有小学文化,就能用来打发时间。在每个时代,一张张有文字的纸,订成本以后,摆到书店的货架上,就是一本书了。这是一种对书的误解,书是文字的集合,文字是思想和知识的载体。 其实我们当下的情况和他的康科德也差不多,走到书店里看看就知道了,有的书长得很像书,精美的封面和印刷,有质感的纸张,但是翻开读几页之后,会发现那只是一个有诚意,有几百页的篇幅的广告,给某个学校或者某个课程做的。有的书是纯粹的产品,和九块九包邮的拖鞋没什么区别,这些书被生产出来唯一的目标就是被卖掉,生产它的人一生可能都没有读过几本书,不然,为什么会有这种书出现呢,他都没有质疑自己,怎么...阅读全文

博文 2018-09-23 12:34:40 ZHOU_e3a0

你的努力必须要有价值

壹听过太多要努力的话,我也一直告诉自己要努力,也以自己的方式努力着。可是回头想想,自己以为的努力是否是真的努力,自己的努力是否收到了想要的结果?你可能常常披星戴月,譬如见过凌晨两点的月亮,自己的努力都把自己给感动了。可是,在这么努力后,你到底收获了什么?你的所得和自己的付出成比例吗?如果相比于你的付出,所得太少,那么真的是自己出了问题:无价值的努力不是努力,那是自我感动。自己每天都很忙,忙的都没有心思注意一下路边刚刚开的花,忙的都没有时间好好收拾一下自己。心里想着,只要我一直这么努力下去,肯定有结果。可是,你并没有看看自己的努力是否产生了价值,只是埋头往前走。作为技术出身,你很喜欢技术,对于新技术,有无限的热情,一直在追逐,但是只是知道这个技术,具体怎么实现,怎么应用,怎么解决具体问题,却一...阅读全文

博文 2019-02-20 23:34:41 Qingyuan清远

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】...阅读全文

博文 2016-10-11 03:00:10 tree2013

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 链客

Golang实现整型栈

package main import ( "fmt" "errors" ) type Stack struct { Size int Top int arr [5]int } const INT_MAX = int(^uint(0) >> 1) func (self *Stack) Push(ele int) (err error) { if self.Top == self.Size - 1 { err = errors.New("Stack full error!!") return } self.Top++ self.arr[self.Top] = ele return } func (self *Stack) Pop() (val int, err error) { val = -...阅读全文

博文 2020-03-08 12:32:43 FredricZhu