-
Golang系列文章:并发抓取网页内容
所属栏目:[大数据] 日期:2020-12-16 热度:85
在上一篇中,我们根据命令行的URL参数输入,抓取对应的网页内容并保存到本地磁盘,今天来记录一下如何利用并发,来抓取多个站点的网页内容。 首先,我们在上一次代码的基础上稍作改造,使它能够获取多个站点的内容。下面代码中,我们首先定义好三个URL,然后[详细]
-
Golang系列文章:创建Web服务
所属栏目:[大数据] 日期:2020-12-16 热度:74
使用Go语言,我们可以轻松创建出Web服务,这一点比Node.js还要简单,今天就来总结一下Go语言中Web服务的创建方式。 首先,我们需要引入 net/http 这个包来处理HTTP请求,然后在指定的端口开启服务,下面来写一个最简单的Web服务程序: // server.gopackage m[详细]
-
Golang系列文章:正则表达式
所属栏目:[大数据] 日期:2020-12-16 热度:181
上次我们写了个并发程序,来抓取几个站点的网页内容,其中使用到了正则表达式来获取站点的域名部分,作为文件名存储本地文件,今天,我们就来总结一下正则表达式的常用方法。 首先,在Go语言中,正则表达式相关的操作都封装在 regexp 这个包中,所以使用前需[详细]
-
Go语言的安装与开发环境
所属栏目:[大数据] 日期:2020-12-16 热度:69
下载:https://studygolang.com/dl ? 下载 goland K71U8DBPNE-eyJsaWNlbnNlSWQiOiJLNzFVOERCUE5FIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsI[详细]
-
在go modules中使用replace替换无法直接获取的package(golang.o
所属栏目:[大数据] 日期:2020-12-16 热度:76
上一篇 里我们介绍了使用go get进行包管理。 不过因为某些未知原因,并不是所有的包都能直接用go get获取到,这时我们就需要使用go modules的replace功能了。(当然大部分问题挂个梯子就能解决,但是我们也可以有其它选项) ? 使用replace替换package replac[详细]
-
golang语言基础(一)
所属栏目:[大数据] 日期:2020-12-16 热度:119
1.基础相关 package main import "fmt" // 入口函数 func main() { fmt.Println( "hello world" ) fmt.Println( "good morning" ) hello() s,minus : = sum(2,3 ) fmt.Println(minus) fmt.Println(s) var name = "tom" fmt.Println(name) convertCharacter()[详细]
-
基础知识 - Golang 中的正则表达式
所属栏目:[大数据] 日期:2020-12-16 热度:142
------------------------------------------------------------Golang中的正则表达式------------------------------------------------------------用法:------------------------------单一:? ? .? ? ? ? 匹配任意一个字符,如果设置 s = true ,则可以[详细]
-
Golang 并发Groutine实例解读(二)
所属栏目:[大数据] 日期:2020-12-16 热度:110
go提供了sync包和channel机制来解决协程间的同步与通信。 一、sync.WaitGroup sync包中的WaitGroup实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就把任务从队列中移除,如果队列中的任务没有全部完成,队列就会触发阻塞以阻止程序继续[详细]
-
golang信号signal的处理
所属栏目:[大数据] 日期:2020-12-16 热度:126
在实际项目中我们修改了配置文件后,希望在不重启进程的情况下重新加载配置文件,这时候就需要通过信号传递来进行处理了。golang中对信号的处理主要使用os/signal包中的两个方法:一个是notify方法用来监听收到的信号;一个是 stop方法用来取消监听。下面给[详细]
-
golang闭包
所属栏目:[大数据] 日期:2020-12-16 热度:54
http://www.voidcn.com/article/p-hhecpmbx-uo.html https://www.jianshu.com/p/fa21e6fada70 所谓闭包就是一个函数“捕获”了和它在同一作用于的其他常量和变量。 package mainimport "fmt"func addNumber(x int) func(int) { fmt.Printf("x: %d,addr of x:[详细]
-
golang生成指定位数的字符串(数字、大小写字母)
所属栏目:[大数据] 日期:2020-12-16 热度:82
package main import ( " fmt " " time " " math/rand " ) const ( KC_RAND_KIND_NUM = 0 // 纯数字 KC_RAND_KIND_LOWER = 1 // 小写字母 KC_RAND_KIND_UPPER = 2 // 大写字母 KC_RAND_KIND_ALL = 3 // 数字、大小写字母) // 随机字符串func Krand(size int,[详细]
-
golang 实现SSL 发送邮件
所属栏目:[大数据] 日期:2020-12-16 热度:156
func SendMonitorStatus(ret map[string]bool,smtpHost,smtpPort,smtpUser,smtpPass,toSendList string) (bool,error) {t := time.Now()year,month,day := t.Date()curtime := fmt.Sprintf("%d-%d-%d %d:%d",year,day,t.Hour(),t.Minute())auth := smtp.Plai[详细]
-
golang 发布 1.11,带来新特性 modules
所属栏目:[大数据] 日期:2020-12-16 热度:119
美国当地时间8月24日,Go 开发团队宣布推出 Go 1.11 正式版。 下载地址:https://golang.org/dl/ 国内下载地址:https://golang.google.cn/dl/ Go 1.11 带来了一个最值得关注且激动人心的新特性——模块(Modules)。 此版本增加了对被称作“模块(Go Module[详细]
-
Golang面试题解析(五)
所属栏目:[大数据] 日期:2020-12-16 热度:123
41.执行下面的代码发生什么? package maintype Param map[string]interface{}type Show struct { *Param}func main() { s := new(Show) s.Param["RMB"] = 10000} 考点: map初始化 map需要初始化后才能使用。 编译错误:invalid operation: s.Param["RMB"] ([详细]
-
Golang HTTP文件上传
所属栏目:[大数据] 日期:2020-12-16 热度:99
2018年02月08日 10:07:13? 冷月醉雪 ? 阅读数:346? 标签:?golang HTTP 文件上传 更多 个人分类:?Go ? 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lengyuezuixue/article/details/79277691 ? ?首先,我们在服务器端设定[详细]
-
Go源码编译安装
所属栏目:[大数据] 日期:2020-12-16 热度:161
参考文档1:https://www.cnblogs.com/majianguo/p/7258975.html 参考文档2:http://www.loongson.cn/news/company/456.html 通常情况下,安装go只需要在官网(https://golang.org/dl/)下载适合系统的二进制发布包,按照安装说明进行安装即可。 对于Linux,Mac[详细]
-
golang 字符串与int类型转换
所属栏目:[大数据] 日期:2020-12-16 热度:100
一、字符串转int func Atoi(s string) (int,error) 案例: 执行结果: [email?protected] ? ~/Documents/project/src/test ? go build int_string.go [email?protected] ? ~/Documents/project/src/test ? ./int_string int,100 二、int转字符串 func It[详细]
-
golang bytes包解读
所属栏目:[大数据] 日期:2020-12-16 热度:95
golang中的bytes标准库实现了对字节数组的各种操作,与strings标准库功能基本类似。 功能列表: 1、字节切片 处理函数 (1)、基本处理函数 (2)、字节切片比较函数 (3)、前后缀检查函数 (4)、字节切片位置索引函数 (5)、分割函数 (6)、大小写处理[详细]
-
glide 镜像
所属栏目:[大数据] 日期:2020-12-16 热度:73
运行glide install 失败? 国内墙的原因,某些网站上不去 [ERROR] Update failed for golang.org/x/crypto: Cannot detect VCS [ERROR] Failed to install: Cannot detect VCS ? 通过glide mirror设置 最初参考https://zhuanlan.zhihu.com/p/27994151这篇文章[详细]
-
Golang 中操作 Mongo Update 的方法
所属栏目:[大数据] 日期:2020-12-16 热度:154
Golang 和 MongoDB 中的 ISODate 时间交互问题 2018年02月27日 11:28:43?独一无二的小个性? 阅读数:357? 标签:?Golang MongoDB 时间交互 时间转换 ? 更多 个人分类:?MongoDB Golang ? 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog[详细]
-
hustOJ 添加 golang 支持
所属栏目:[大数据] 日期:2020-12-16 热度:76
hustOJ 支持Go1.7.1 是否为docker环境不重要,此处所有内容均为docker中执行,普通主机手动安装则更加如此 建议在docker中执行,因为OJ为严控恶意权限,judge_client做了很多特殊指令 hustOJ 虽然有部分代码涉及到了golang 但,实际还无法正常执行。 本次支[详细]
-
golang strings.Split的疑问
所属栏目:[大数据] 日期:2020-12-16 热度:173
先看下面的代码 func main() { fmt.Println( " Hello,世界 " ) cc: =[...] int {} b: = "" a: =strings.Split(b, " ‘ " ) fmt.Printf( " %+v,%+vn " ,a,cc) fmt.Println(len(a),len(cc))} 输出结果 Hello,世界[],[] 1 0 我们看到cc是一个空的数组,它的长[详细]
-
golang 并发程序写入map两种实现方式sync.Mutex和chan的效率对比
所属栏目:[大数据] 日期:2020-12-16 热度:82
golang原生的数据结构map,由于是通过hash方式实现的,不支持并发写入,但是在golang很多并发场景中,不可避免的需要写入map,下面介绍两种解决map并发写入的实现方式: sync.Mutex互斥锁(通过加锁解锁解决map不能并发写入的问题) chan (通过管道来解决ma[详细]
-
golang 并发运算时主线程先运行完,子线程运行没结束的问题记录
所属栏目:[大数据] 日期:2020-12-16 热度:59
代码如下: blocks,err:= mgo.FindBlocks(batch) // 获得当前批次下的矿体信息 cubes:= BlockCutting(blocks[ 0 ],x,y,z,nest) for _,v := range cubes{ if len(v.Incise)!= 0 { beego.Debug( " 有东西 " ) } } 其中BlockCutting中的一步是用go并发做的 go B[详细]
-
golang Http服务浅析
所属栏目:[大数据] 日期:2020-12-16 热度:113
golang的HTTP包提供了了很强大的功能,开发人员即使不使用框架也可以很方便的进行开发。下面就简单说一下开发web应用时HTTP包都做了哪些工作。 我们在建立一个WEB应用的时候经常会这样使用: http.HandleFunc("/hello",func(writer http.ResponseWriter,requ[详细]
