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

liteide配置gdb问题

报错是这个: 09:45:41 GdbDebugger: /usr/local/Cellar/gdb/7.11/bin/ was not found on system PATH (hint: is GDB installed?) 09:45:41 LiteDebug: Failed to start debugger 然后我环境变量是这么配的 export PATH=$PATH:/usr/local/Cellar/gdb/7.11/bin 配置文件是这样的 LITEIDE_GDB=/usr/local/Cellar/gdb/7.11/bin/ 直接gdb --version也有 GNU gdb (GDB) 7.11 Copyright (C...阅读全文

golang 采集图片

帮朋友忙去采集的,看他打开韩国网站 一个一个点开去保存看不下去了速度太慢了,原本想用PHP写的,刚好看了无闻大大的go采集,然后无耻的改了下就用了, package main import ( "fmt" "io" "io/ioutil" "log" "net/http" "os" "path" "regexp" "strings" ) type NotFoundError struct { Message string } func (e NotFoundError) Error() string { return e.Message } type RemoteError struct { Host string Err error } func (e *RemoteError) Erro...阅读全文

博文 2015-06-17 20:23:33 lucifer_qiao

Learning Go 中文版本《学习Go语言》

是的,你没看错,这就是 Learning Go 的中文版本。在我踌躇许久之后,终于决定将这个坑挖下去了。 项目页面在这里:《学习Go 语言》 现在的翻译进度大约10%,也就是完成了第一章和部分第二章内容。 我对 LaTeX 知之甚少,所以排版还没时间去调整。 第一阶段目标是同步翻译英文版本,并跟进英文版本的后续修改。 第二阶段目标待 Go 语言相对稳定后,根据中文表达习惯重新调整内容和表达方式。 大体如此吧…… 为了大家省心,也为了充实内容,把页面引用于此吧: 这是关于来自Google 的Go 语言的简介。目标是为这个新的、革命性的语言提供一个指南。 什么是Go?来自于网站: Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编...阅读全文

博文 2014-10-09 16:15:19 mikespook

使用nsq的时候,handler阻塞导致整个阻塞

使用nsq的时候遇到这样一个问题: AddConcurrentHandlers(handler, 8)的时候,已经有多个协程处理收到的消息。然而,当其中一个handle发生阻塞时,会导致整个Consumer阻塞,runtime.GOMAXPROCS(runtime.NumCPU()) 代码调用了。下面的代码也看不出问题,请教一下为什么会发生阻塞? ``` // AddConcurrentHandlers sets the Handler for messages received by this Consumer. It // takes a second argument which indicates the number of goroutines to spawn fo...阅读全文

擦亮币圈差异化产品服务的特色品牌

全球数字货币市场覆盖广泛,用户群体资源主要被各大服务平台包揽,每个地区的服务平台的较大的区别,所以打造目标产品才是整个项目的有效载体,选择有特色、有优势的产品才是企业挖掘吸纳市场用户的核心关键。首先产品基本上是根据自身的资源和优势来进行选择,这不完全是站在用户的角度,也不是市场需要什么企业就做什么。在这一点上企业必须抓准自己的优势,并且有效的扩大,再考虑市场是否需要这样的产品。​当下全球数字货币经济发展飞速,币圈正逐步涌现出了一些新的项目方,其中不乏一些知名项目。然而在这里我们发现数字货币行业作为金融行业,品牌建设却是一个任重而道远的过程。对于建设项目品牌的目的其实就是综合各种资源打造好产品,提高客户满意度,提高市场独有性,提高产品在市场的美誉度和知名度。在这个脱离了流量红利期的市场,品牌定...阅读全文

Go 1.13 errors 基本用法

Go 最新版本 1.13 中新增了 errors 的一些特性,有助于我们更优雅的处理业务逻辑中报错的问题。本文主要展示 errors 包中新增方法的用法。 核心思想:套娃 啥意思呢?这玩意就像套娃一样,从上往下扒,拿走一个还有一个,再拿走一个,诶还有一个,如果你愿意,可以一直扒到最底下没有了为止。 基本用法 1. 创建一个被包装的 error 方式一:fmt.Errorf 使用 %w 参数返回一个被包装的 error err1 := errors.New("new error") err2 := fmt.Errorf("err2: [%w]", err1) err3 := fmt.Errorf("err3: [%w]", err2) fmt.Println(err3) // output e...阅读全文

博文 2019-09-16 19:32:42 sxssxs

模板市场开发者开放申请,人人争当模板设计师!

有没有试过,在你自助建站的时候因为设计网站模板而烦恼?因为看不上称心的网站模板而纠结?因为看上一套模板但是需要花钱而舍不得?这些问题让建站者感到头疼。那么对于模板设计师又有什么烦心的事呢?自己设计的网站模板得不到赏识;做出精致的模板没有好的市场进行出售;做出的模板放在市场上没人购买;这些揪心的问题成为了设计者的烦恼。 ![~@C6J4B(~R$$@N4NIX${HZT.png](http://studygolang.qiniudn.com/170313/bf94409f3a7eb8dde116f0c3eb582c58.png) 就在设计师正在苦恼的时候,建站宝盒模板市场先开启模板开发者的招募。无论你是不是设计师、是不是开发者、懂不懂设计、会不会专业技术都好,只要你有创意,就能零成...阅读全文

Linux核心命令之grub.conf配置核心知识详解

引导加载程序(Boot loader)是在计算机在加载操作系统内核之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境加载到一个适合的状态,以便为最终调用操作系统内核做好准备。通常,引导加载的程序依赖于硬件实现,早期的Linux系统常见的引导加载程序有2种,即Grub和Lilo,现如今Grub已经成为了主流(类似Windows下的boot.ini引导文件)。 引导加载程序读取grub.conf文件的配置信息,然后根据对应配置信息来启动不同的操作系统, 管理员可以从三个路径查看grub.conf的配置信息,具体如下所示: [root@oldboy boot]# cat /etc/grub.conf #<==也可读取/boot...阅读全文

Go 中的接口的定义与使用

Go 里面的接口,绝对是我入坑程序员以来觉得最坑的一个东西了。为什么说它坑,就是怎么看怎么别扭。 说明 Go 中的接口是由使用者来定义的。这和传统的 接口 有点不一样(当然我们在开发的过程中可以根据具体的情况去决定谁用接口) 看一个例子: // package mooc type Retriever struct { Contents string } func (r Retriever) Get(url string) string { return r.Contents } // package main type Retriever interface { Get(url string) string } Go 里面比较恶心的是什么呢?就是这里的接口实现,从Java过来的看到这个肯定会...阅读全文

博文 2020-06-04 16:32:52 IT猿看视界

golang sync WaitGroup

golang sync WaitGroup 刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。 先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 WaitGroup总共有三个方法:Add(delta int),Done(),Wait()。简单的说一下这三个方法的作用。 Add:添加或者减少等待goroutine的数量 Done:相当于Add(-1) Wait:执行阻塞,直到所有的WaitGroup数量变成0 package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup for...阅读全文

博文 2016-03-26 17:00:01 chenglinhust

Let's go!!!

第一:不要认为停留在心灵的舒适区域内是可以原谅的。 每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到。这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义。然而相反,在工作之后,你要极力改变这一现状。否则,你会很快变成鸡尾酒会上唯一没有人理睬的对象,或是很快因为压力而内分泌失调。但是,如果你能很快打破之前学生期所处的舒适区域,比别人更快的处理好业务、人际、舆论之间的关系,那就能很快的脱颖而出。 第二:不要把“好像”,“有人会……”,“大概”,“晚些时候”,“或者”,“说不定”之类放在嘴边。尤其是和上级谈...阅读全文

博文 2015-12-23 03:00:00 yang3301happy

你的努力必须要有价值

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

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

golang 中 sync包的 WaitGroup

golang 中的 sync 包有一个很有用的功能,就是 WaitGroup 先说说 WaitGroup 的用途:它能够一直等到所有的 goroutine 执行完成,并且阻塞主线程的执行,直到所有的 goroutine 执行完成。 WaitGroup 总共有三个方法:Add(delta int), Done(), Wait()。简单的说一下这三个方法的作用。 Add:添加或者减少等待 goroutine 的数量 Done:相当于Add(-1) Wait:执行阻塞,直到所有的WaitGroup数量变成 0 请看例子: package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup for i := ...阅读全文

博文 2017-10-06 10:30:01 liang1101