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

Golang 网络爬虫框架gocolly/colly 一

Golang 网络爬虫框架gocolly/colly 一 gocolly是用go实现的网络爬虫框架,目前在github上具有3400+星,名列go版爬虫程序榜首。gocolly快速优雅,在单核上每秒可以发起1K以上请求;以回调函数的形式提供了一组接口,可以实现任意类型的爬虫;依赖goquery库可以像jquery一样选择web元素。 gocolly的官方网站是http://go-colly.org/,提供了详细的文档和示例代码。安装colly: go get -u github.com/gocolly/colly/... 在代码中导入包: import "github.com/gocolly/colly" colly的主体是Collector对象,管理网络通信和负责在作业运行时执行附加的回掉...阅读全文

博文 2017-12-30 00:30:00 majianguo

go语言指针符号的*和&

先看一段代码 先放一段代码,人工运行一下,看看自己能做对几题? package main import "fmt" func main() { var a int = 1 var b *int = &a var c **int = &b var x int = *b fmt.Println("a = ",a) fmt.Println("&a = ",&a) fmt.Println("*&a = ",*&a) fmt.Println("b = ",b) fmt.Println("&b = ",&b) fmt.Println("*&b = ",*&b) fmt.Println("*b = ",*b) fmt.Println("c = ",c) fmt.Println("*c = ",*c) fm...阅读全文

博文 2014-10-04 19:26:00 waynehu

深入讨论channel timeout

Go 语言的 channel 本身是不支持 timeout 的,所以一般实现 channel 的读写超时都采用 select,如下: select { case <-c: case <-time.After(time.Second): } 这两天在写码的过程中突然对这样实现 channel 超时产生了怀疑,这种方式真的好吗?于是我写了这样一个测试程序: package main import ( "os" "time" ) func main() { c := make(chan int, 100) go func() { for i := 0; i < 10; i++ { c <- 1 time.Sleep(time.Second) } os.Exit(0) }() for { selec...阅读全文

博文 2014-11-16 09:31:31 skoo

谷歌扩展分享第一期:完美访问Google搜索,YouTube,Twitter等网站

上期回顾:上一期介绍了Google Chrome下载官方正版浏览器及设置浏览器语言。这期则介绍使用Google Chrome最基本的扩展,那就是利用谷歌服务助手和谷歌访问助手访问Google搜索以及登录Google账号等谷歌产品。一、首先介绍谷歌服务助手 谷歌服务助手可以访问所有Google网站、YouTube、Wikipedia、Twitter、Telegram、Android、Golang等网站。 谷歌服务助手 使用方法:使用谷歌服务助手时只需要勾选“启动代理”即可使用。谷歌服务助手ID:cgncbhnhlkbdieckbbmeppcefokppagh,可自行在Chrome网上应用店下载安装或者点击链接下载。二、其次介绍谷歌访问助手 谷歌访问助手只能访问Google搜索、Google邮箱...阅读全文

博文 2018-11-25 16:34:39 超逗的二哈少爷

Pokemon Go 教程

 澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设...阅读全文

博文 2016-07-18 12:00:01 q8649912

用go写了个mapReduce的word count程序有疑问,求大神指点

前两天用go写了一个mapReduce的word count,https://github.com/madiks/goMapReuce,大概设这样设计的: 四个channel:mapIn(接受map任务输入数据),mapOut(写入map任务的结果),reduceIn(将mapOut中的数据取出做分类整合然后写入reduceIn),reduceOut(写入reduce任务的结果)。在两个goroutine分别监听mapIn和reduceIn,一旦收到数据就启一个goroutine去执行map/reduce任务。基于这个写了一个word count。 我的疑问是: 1.假设有海量数据需要处理,不断写入mapIn channel,就会不断启动goroutine去执行任务,可是机器...阅读全文

notepad++ 的golang语法高亮

go 自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2014-10-04 19:26:09 potoofly

notepad++ 的golang语法高亮

go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2014-10-04 19:26:09 gzme

请教一个关于go反射机制的问题

由于做一个mis系统路由会非常之多,为了防止路由文件过长,试图给gin框架加一个自动路由功能,效果是,如果我请求xxx/bank/list,就自动去调用controllers/bank.go下的List方法,而无需去手写任何路由,当然,手写的路由可以盖掉这个 所以,需要在启动时,框架可以在不import的情况下自动识别这个文件 然而golfing的机制限制了不import连走init的机会都没有,它的静态性并不能像node.js一样可以就地import一个.js文件,而包自己本身不是一个类,就不能像java/C#那样根据类名反射new一个对象。 求助这个问题是不是在现在的go语言下根本不可解,如何可解有什么方法吗? 另外,用go作web开发,比较推荐的路由-控制器的文...阅读全文

golang 文件操作

package main import ( "bytes" "fmt" "io" "os" ) var file *os.File = &os.File{} var fileBuf *bytes.Buffer = bytes.NewBufferString("") func main() { var err error file, err = os.OpenFile("testData.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR|os.O_TRUNC, os.ModePerm|os.ModeTemporary) //os.O_TRUNC 清空已经存在的文件 if err != nil { panic(err) } fileBuf.WriteString(f...阅读全文

博文 2016-01-15 03:00:00 davin

本站积分财富(铜币)功能上线

为了净化社区环境,更好地让广大 gopher 相互帮助,共同学习成长,本站开发了积分财富(铜币)功能。注册用户请在首页如下位置领取初始资本,以后可以领取每日登录奖励:(积分不足是不能发帖和回复的) ![1.png](http://studygolang.qiniudn.com/170605/149c30948c9fc48a9ad0b80a15054c79.png) 有问题请大家随时反馈,感谢支持...阅读全文

无锡东-Golang-工作机会

hi,情况是这样的: 现有项目,有一定技术挑战,接近上线,共享单车相关,我已经 Remote 开发了大部分,使用 Golang 开发。 但是需要一个人一起配合,可以承担更多工作。 我乐于分享和帮助他人,所以如果你对 Golang 非常感兴趣,不过现在能力如何,都可以和我联系看看。 email: cloudzhou # 163.co...阅读全文

consistent hash(一致性哈希算法)

一、产生背景今天咱不去长篇大论特别详细地讲解consistent hash,我争取用最轻松的方式告诉你consistent hash算法是什么,如果需要深入,Google一下~。举个栗子吧:比如有 N 个 cache 服务器,需要将一个object 映射到 N 个 cache 上,我们可以用类似下面的方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache 上:hash(object)%N比如object是“hello”,hash(object)是100,N为3,100%3=1,这个数据会被存到第1个cache上(0、1、2三个cache)。这样就能解决一堆数据放到N个cache上的问题。现在有个突发情况,0、1、2三个cache中1损坏了!怎么办呢,cache 1上...阅读全文

博文 2018-08-05 20:35:11 CloudGeek

最小版本选择(vgo)

本文译自 Minimal Version Selection, Go & Versioning 的第 4 部分, 版权@归原文所有. 版本化的 Go 命令必须决定在每个版本中使用哪个模块版本. 我把指定构建中用到的模块和版本列表称之为构建列表. 为了稳定开发, 今天的构建列表也必须是明天的构建列表. 但是, 开发人员也必须允许更改构建列表: 升级所有模块, 升级一个模块或降级一个模块. 因此版本选择问题是定义其意义并给出算法实现, 构建列表中的 4 个操作为: 构造当前的构建列表. 将所有模块升级到最新版本. 将一个模块升级到特定的较新版本. 将一个模块降级到特定的旧版本. 最后两个操作指定一个模块升级或降级, 但这样做可能需要升级, 降级, 添加或删除其他模块, 理想情况下应尽可能少, 以...阅读全文

博文 2018-02-23 23:35:17 lingchao

go 速学 - 11 - 结构

目录 结构 概念 创建结构 使用结构 值传递 匿名结构 结构的组合 概念 定义一个组合 使用组合 摘要 定义结构,使用结构,值传递与指针传递,匿名结构,结构的组合 结构 概念 Go 中没有 class 的概念,结构可以完成类似功能 支持指向自身的指针类型成员 支持匿名结构 支持 == 和 != 运算符 创建结构 格式 type struct{} type person struct { name string age int } 使用结构 结构变量的各个字段都会有默认值 p1 := person{name: "Jack"} p1.name = "Peter" //p1 {Peter 0} 值传递 参数中的结构默认为值传递 p2 := person{name: "Jack", a...阅读全文

博文 2015-04-25 03:00:00 mrseasons

Golang教程:goroutine协程

在上一篇中,我们讨论了并发,以及并发和并行的区别。在这篇教程中我们将讨论在Go中如何通过Go协程实现并发。 什么是协程 Go协程(Goroutine)是与其他函数或方法同时运行的函数或方法。可以认为Go协程是轻量级的线程。与创建线程相比,创建Go协程的成本很小。因此在Go中同时运行上千个协程是很常见的。 Go协程对比线程的优点 与线程相比,Go协程的开销非常小。Go协程的堆栈大小只有几kb,它可以根据应用程序的需要而增长和缩小,而线程必须指定堆栈的大小,并且堆栈的大小是固定的。 Go协程被多路复用到较少的OS线程。在一个程序中数千个Go协程可能只运行在一个线程中。如果该线程中的任何一个Go协程阻塞(比如等待用户输入),那么Go会创建一个新的OS线程并将其余的Go协程移动到这个新的OS线程。所...阅读全文

博文 2018-06-08 00:30:00 liuzhongchao

《Docker助力应用交付“十倍速”》 9月24日时速云技术沙龙第七期【大连站】

![](http://77fkk5.com1.z0.glb.clouddn.com/upload/image/40debc00701e11e681f0525400020562.jpg) 大连,美丽的北国海港,著名的航母摇篮 港口每年的集装箱吞吐量近千万。 回溯历史,集中箱的发明,带来了航运生产力“十倍速”的改变。 Docker,目前最火的云计算技术 诞生之初,就被喻为“用代码编写的集装箱” 正在被应用交付领域越来越多的企业接受、应用。 9月24日,技术领先的企业级容器云计算服务商----时速云联合众蓝影云,将携Docker技术走进大连,举行《Docker助力应用交付“十倍速“》为主题的技术沙龙。届时,技术大咖们将与您一起分享Docker技术那些事儿,现场将会有精美茶...阅读全文

gorm查询流程源码分析

gorm查询流程源码分析 gorm是用golang写的数据库orm库,目前golang写的orm库也有很多,例如xorm,beego orm,gomybatis等,各有各的优势特点,看一下gorm对golang基础框架中数据库相关接口是如何封装的。 gorm一般的初始化方式 db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local") if err != nil { log.Errorf("init error!") } gorm中DB结构体的定义: // DB的结构体 type DB struct { sync.RWMutex // 锁 Value interface...阅读全文

博文 2019-05-12 01:34:50 一只努力的微服务

2018年38粥记

2018年38周(9月17号-9月23号) 读书(非技术)10个 《暗逻辑》174-204/309,1个。 原来杨虎城改过名字,之前叫杨虎臣。 民国有过“军阀割据时代”,五代十国,唐后期也一样,直到宋才统一。 《历代经济变革得失》20-210/192,8个。 虽然书名跟钱穆先生的有点像,但这本书更易读。 这样的大佬出来割韭菜确实有收割的能力,很多观点或看法在他成书前可能就形成了,所以一些东西会看得更透,更远,维度也更高啊。 无论是想到作者的思路还是从书中得到知识,本书还是值得一读的。 《如何让你的阅读更高效》 10-62/227,1个。 算随笔吧,偶然下到的,闲来读读。 主要我读的书的总量也不少了,第1个番茄钟读来,基本都是实践过的,无非get点方法,让自己更高效点,更功利点,更体系点。 电...阅读全文

博文 2018-09-24 22:34:39 im天行

Golang学习笔记 方法和接口

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011054333/article/details/76650083 在编程语言中,方法和函数的概念需要搞清楚。函数指的是一个封装的代码块,我们可以直接调用它,并返回结果。而方法其实也是一种函数,只不过方法需要和某个对象绑定。Golang并没有类的概念,不过仍然有方法和接口这些概念。 方法 方法接收者 方法接收者是一个特殊参数,给函数指定了这个参数之后,函数就成为方法了。这个特性有点像Kotlin和C#中的扩展方法,定义了带有接收者的方法之后,接收者这个类型就好像定义了这个方法一样,我们可以直接在该类型上调用方法。这在功能上,和面向对象的概念是很类似的。 例如下面这样,定义了一个汽车结构,然后定义了...阅读全文

博文 2019-04-29 07:31:37 u011054333

autocad三维汇报,bim汇报,视图汇报方法

在大部分场景中,工程师可以用cad进行汇报,避免去做PPT,浪费时间,ppt一般都是用一次就丢弃。而工程师对于设计的中间汇报,或三维bim汇报,评审汇报,展示汇报等,都可以直接用cad软件,方法是用视图进行汇报。 视图是个神奇的东西,它支持不同的视图,采用不同的图层搭配,不同的视觉样式(简单渲染),比如线框,隐藏,着色等模式。 cad还提供幻灯片vslide,但是想象一下,每个汇报的页面存成幻灯片,还要整理顺序,也是用后即丢。 而cad自己带的视图播放(视图切换)工具不是很好用。 设计一款专门用于汇报的视图汇报工具,类似ppt那样,按一下就切换到下一个视图,可以用鼠标进行任何操作——缩放啊,量尺寸啊……,不影响下一个视图。 每个视图对应不同的图层,如果在汇报过程中来操作图层的开关,会手忙脚乱...阅读全文

博文 2018-07-14 11:34:42 qingo

2018-09-03 阅读笔记

最近本风流才子重出江湖,不做朋友圈段子手,决定开始好好写文章了,大家好好看好好学吧! 近半年来收集了一系列大厂技术 blog,断断续续在小本本上写了一些笔记,是时候整理一下了,争取日更。 PostgreSQL 调参 原文链接 摘要:PostgreSQL 默认的配置并没有为应用做特殊的优化,然而有许多参数是有优化空间的,譬如: shared_buffer PostgreSQL 有两级缓存,自己的缓存 shared_buffer 和内核缓存。为了在什么烂机器上都能跑,shared_buffer 的默认值设的很小。调节 shared_buffer 会非常有效。推荐值是系统内存的 25% wal_buffers WAL = write ahead log,预写式日志,From Wiki: 在使用WA...阅读全文

博文 2018-09-03 22:34:55 康某

Go语言:简介(二)

Go语言:简介(二) 对Go语言了解前,我们先来补一些基本概念 基本概念 并发程序 一个并发程序可以在一个处理器或者内核上使用多个线程来执行任务,但是只有同一个程序在某个时间点同时运行在多核或者多处理器上才是真正的并行。 并发程序可以是并行的,也可以不是。 多线程缺点 使用多线程的应用难以做到准确,最主要的问题是内存中的数据共享,它们会被多线程以无法预知的方式进行操作,导致一些无法重现或者随机的结果。 使用多线程需要在意同步问题,可能出现死锁,线程上下文切换带来的开销 单线程中大计算量问题 利用多核CPU,将计算分发到各个子进程,将大量的计算分解掉,然后再通过进程间的事件消息来传递结果。 什么是协程 goroutines(协程) 1.协程与线程关系 在协程和操作系统线程之间并无一对一的关系:...阅读全文

互融云数字货币永续合约交易系统开发

合约交易是从数字货币行情大跌之后,成为越来越多人喜欢使用的一种数币投资手段。在近期比特币大涨的情况下,投资者面对市场不明以及比特币越长越高的投资成本,使得大家变得畏畏缩缩。这时,合约交易的出现,成为了一匹大家争相追逐的黑马,它直接跳过数字货币持有实物这一环节,针对数字货币未来的涨跌进行下注,通过合约杠杆放大投资收益。互融云推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。 互融云数字货币永续合约交易系统介绍:1)合约模型设计交易方式:市价交易、限价交易合约周期:无定时交割时间,用户可自由选择交割时间隔夜费设置:用户购买每超过24小时则会收取隔夜费合约单位:...阅读全文

博文 2019-08-02 21:32:42 互融云软件

使用IP地址修改器助力网络推广

简单的说常见的网络推广渠道上主要有四类1.引擎类 google、baidu、yahoo等,主要形式以收费的关键字竞价,和免费的自然排名。 2.行业网站类 每个行业都有行业网站,各种黄页网站和大综合性门户网站也有行业目录,主要是登录,分为手工登录(效果好速度慢,需要专业人员) 自动登录 两种,而且自动登录又有 1登录推广网站(自动帮你登录多个网站目录)。2.推广软件(有些推广软件号称能做所有的事情,其实每个软件能力都是有限的有针对的)将网站推广到所能登录的各类目录(引擎)上。3.电子商务平台如阿里巴巴等等,这些大的电子商务平台可以很好推广效果,而且很多大站的反向链接,对你网站PR分(gooele的评分系统,这里泛指各种评分机制)作用是很大的。只有你的PR高了,你的网站自然排名才会高,自然排名高...阅读全文

博文 2019-01-21 09:57:17 xunsu10

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

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

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

YAFFS2移植到AliOS Things指南

摘要: YAFFS2介绍 YAFFS(Yet Another Flash File System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备。YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。 **点此查看原文:http://click.aliyun.com/m/41950/** **YAFFS2介绍** YAFFS(Yet Another Flash File System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备。YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。它还为大容量的Flash 芯片做了很好的调整,针对启动时间和RAM 的使用做了优化。它适...阅读全文

免费,开源的数字货币收款插件

虽然区块链蓬勃发展,但是程序员要在网站上支持数字货币收款依然非常困难。无论是比特币,还是eos都需要安装全节点软件才能比较稳定的做到查询收款服务。然而目前的区块链全节点都耗费大量硬盘空间和系统资源,仅仅为了为了数字货币收款进行投入是不划算的。 这里介绍一个收款插件。 优点: 无需依赖外部库,因为是go语言编写的。 无需外部数据库,默认数据库使用sqlite3,熟练工可以自己修改支持mysql和postgre。 开发者使用http请求就可以创建支付通道,查询支付状态。 收到支付有推送,方便编写业务代码。 无需安装复杂的比特币全节点,以太坊全节点,eos全节点就可以收款。 体积小巧 前期准备一 Mixin Messenger账户 中国大陆iOS和安卓用户前往该地址下载App并注册账户。 大陆以外...阅读全文

博文 2019-06-20 22:32:53 Mixin_Network

2019-08-12【LeekCode题库problem-11】

GitHub 地址:coffeeTu-code LeekCode 地址:题库 Language:Golang /* @题目 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 question_11.jpg 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水的最大值为 49(high=7,wide=9-2,area=high*wide)。 @示例: 输入: [1,8,6,2,5,4,8,3,7] 输出: 49...阅读全文

博文 2019-08-12 01:02:41 CoffeeRabbit

互融云数字货币永续合约交易系统搭建-永续合约交易APP出售

互融云数字货币永续合约交易系统搭建-永续合约交易APP出售永续合约是一种不会进行最终交割的期货合约,目前的主要形式是滚动合约,当日结算并自动展期,并由多头向空投支付资金费用。互融云作为国内领先的数字资产交易所系统开发商,用实际行动践行着安全创新可信赖的理念,前进的脚步从不停歇。在合约产品上,凭借着深厚的底蕴经验加完美的交易机制,互融云合约交易系统已经成为企业手中必不可少的亮点产品,永续合约交易系统便是其中之一:1)系统特点经过多轮测试,保证了K线的稳定性永续合约采用的是springboot提供微服务,合约账户进行了加密,确保资金安全通过专用的golang脚本稳定高效的抓取和修复k线数据通过多线程和特有算法以及专用并发锁来快速及时的计算并分析风险率并进行相应的处理,保证平台的利益合约下单采用r...阅读全文

博文 2019-10-14 15:33:16 aside section ._1OhGeD