-
golang 定时器
所属栏目:[大数据] 日期:2020-12-16 热度:130
time.After golang实现计时器: 1.time.AfterotherTimeChan = time.After(refreshActiviryInterval * time.Second)case -otherTimeChan: an.checkAndRefreshAcitivity() otherTimeChan = time.After(refreshActiviryInterval * time.Second)2.time.NewTimer[详细]
-
golang redis连接池使用方法
所属栏目:[大数据] 日期:2020-12-16 热度:183
package mainimport ("fmt""github.com/garyburd/redigo/redis")var pool *redis.Poolfunc init() {pool = redis.Pool{MaxIdle: 8,MaxActive: 0,IdleTimeout: 300,Dial: func() (redis.Conn,error) {return redis.Dial("tcp","localhost:6379")},}}func main[详细]
-
有效的字母异位词的golang实现
所属栏目:[大数据] 日期:2020-12-16 热度:186
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 输入: s = " anagram " ,t = " nagaram " 输出: true 输入: s = " rat " ,t = " car " 输出: false 说明: 你可以假设字符串只包含小写字母 首先看到题目的意思就是说两个字符串的[详细]
-
golang 原子操作函数
所属栏目:[大数据] 日期:2020-12-16 热度:90
golang中的原子操作在sync/atomic package中。 下文以比较和交换操作函数为例,介绍其使用。 CompareAndSwapInt32 比较和交换操作是原子性的。 // CompareAndSwapInt32 executes the compare-and-swap operation for an int32 value.func CompareAndSwapInt3[详细]
-
验证二叉搜索树的golang实现
所属栏目:[大数据] 日期:2020-12-16 热度:104
给定一个二叉树,判断其是否是一个有效的二叉搜索树。 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 输入: 2 / 1 3 输出: true 输入: 5 / 1 4 / 3[详细]
-
Golang--不定参数类型
所属栏目:[大数据] 日期:2020-12-16 热度:105
1、不定参数类型 不定参数是指函数传入的参数个数为不定数量。 package mainimport ("fmt")//不定参数函数func Add(a int,args ...int) (result int) {result += afor _,arg := range args {result += arg}return}func main() {fmt.Println(Add(1,2,3,4,5,6,[详细]
-
golang实现障碍、转弯最少的A*寻路
所属栏目:[大数据] 日期:2020-12-16 热度:74
目录 目标: 要点: 源码: 目标: 优先寻找无障碍的路径 目标不可达时,寻找障碍最少的路径 路径长度相等时,优先转弯最少的路径 多个目标点时,根据以上要求到达其中一个目标点即可 要点: 最优格子的选取,先对open list排序,然后从open list中出队 源码[详细]
-
Golang中rand.Seed()的操作
所属栏目:[大数据] 日期:2020-12-16 热度:85
记录一下用mac地址+local时间作为seed来产生随机数 package mainimport ( " fmt " " math/rand " " encoding/binary " " time " " net " " reflect " " crypto/md5 " " encoding/hex " " strconv " )func getMacAddrs() (macAddrs [] string ) { netInterfac[详细]
-
GoLang爬取花瓣网美女图片
所属栏目:[大数据] 日期:2020-12-16 热度:100
由于之前一直想爬取花瓣网(http://huaban.com/partner/uc/aimeinv/pins/) 的图片,又迫于没时间,所以拖了很久。鉴于最近在学go语言,就刚好用这个练手了。 预览 进入网站后,首页大概是这个样子 分析 网站采用的流式布局,动态加载。未经渲染的初始页面源代[详细]
-
golang 单协程和多协程的性能测试
所属栏目:[大数据] 日期:2020-12-16 热度:89
测试数据:单协程操作1亿数据,以及多协程(10条协程)操作1亿数据(每条协程操作1kw数据) 废话少说,贴代码: 单协程测试运算: package mainimport ("fmt""time")func testNum(num int) {for i := 1; i = 10000000; i++{num = num + inum = num - inum =[详细]
-
LeetCode Golang 5. 最长回文子串
所属栏目:[大数据] 日期:2020-12-16 热度:144
5. 最长回文子串 给定一个字符串? s ,找到? s ?中最长的回文子串。你可以假设? s ?的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd"输出: "bb" 暴力解法: 列出子串,求出符合条件的子串存入map,[详细]
-
golang 实现文件传输小demo
所属栏目:[大数据] 日期:2020-12-16 热度:197
? ? 获取文件信息需要用到os. Stat接口,发送文件前开启接收者(服务端),启动客户端先发送文件名给接收者,接收者收到文件名返回确认信息"ok",才读取本地文件?发送给接收者。 发送者: package mainimport ( " fmt " " io " " net " " os " )func main() {[详细]
-
golang读取u盘序列号(通过读取序列号实现)
所属栏目:[大数据] 日期:2020-12-16 热度:136
仅供参考 package mainimport ("fmt""log""os""strconv""strings"registry "github.com/golang/sys/windows/registry")func main() {//查询插入的u盘个数k,err := registry.OpenKey(registry.LOCAL_MACHINE,`SYSTEMCurrentControlSetServicesUSBSTOREnum[详细]
-
golang判断文件是否存在
所属栏目:[大数据] 日期:2020-12-16 热度:165
判断一个文件是否存在是一个相当常见的需求,在golang中也有多种方案实现这一功能。 现在我们介绍其中两种最常用也是最简单的实现,第一种将是跨平台通用的,而第二种则在POSIX平台上通用。 跨平台实现 跨平台实现的思路很简单,如果某个文件不存在,那么使[详细]
-
Golang 爬虫-广度优先(获取html文档中的超链接)
所属栏目:[大数据] 日期:2020-12-16 热度:152
package mainimport( "fmt" "net/http" "io/ioutil" "regexp" "strings")var href_reg *regexp.Regexpvar hrefs_been_found map[string]intvar hrefs_undone []stringfunc get_all_href(url string)([]string){ var ret [] string resp,err := http.Get(url)[详细]
-
golang随机数生成踩过的坑记录一下
所属栏目:[大数据] 日期:2020-12-16 热度:171
不废话了,直接上代码: package mainimport ( " fmt " " math/rand " )func main() {fmt.Println(rand.Intn( 100 ))fmt.Println(rand.Intn( 100 ))} ? 运行测试一下, $ go run rand.go 81 87 OK,看似没问题,但再运行一次看看: $ go run rand.go 81 87[详细]
-
LeetCode Golang 7. 整数反转
所属栏目:[大数据] 日期:2020-12-16 热度:125
? 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 Tips :? Math包给出的类型大小的边界: // Integer limit values.const (MaxInt8 = 17 - 1MinInt8 = -1 7MaxInt16 = 115 - 1MinInt16 = -1 15MaxInt32 = 131 - 1MinInt3[详细]
-
Golang Struct 声明和使用
所属栏目:[大数据] 日期:2020-12-16 热度:178
Golang Struct 声明和使用 Go 可以声明自定义的数据类型,组合一个或多个类型,可以包含内置类型和用户自定义的类型,可以像内置类型一样使用 struct 类型 Struct 声明 具体的语法 type identifier struct{ field1 data_type field2 data_type field3 data_t[详细]
-
golang net\http包简单的使用
所属栏目:[大数据] 日期:2020-12-16 热度:59
HTTP服务端: package mainimport ("fmt""net/http")func HandConn(w http.ResponseWriter,r *http.Request) {//用户请求方法fmt.Println(r.Method)//用户请求地址fmt.Println(r.URL)//请求头fmt.Println(r.Header)w.Write([]byte("hello go"))}func main()[详细]
-
golang io/ioutil包简单使用
所属栏目:[大数据] 日期:2020-12-16 热度:101
package mainimport ("fmt""io/ioutil""strings")func main() {r1 := strings.NewReader("aaa")//返回ReadCloser对象提供close函数rc1 := ioutil.NopCloser(r1)defer rc1.Close()//ReadAll读取所有数据p,_ := ioutil.ReadAll(strings.NewReader("12345"))fmt[详细]
-
Golang常见误区
所属栏目:[大数据] 日期:2020-12-16 热度:166
1.左大括号一般不能单独一行 ? 在其他大多数语言中,{?的位置你自行决定。Go 比较特别,遵守分号注入规则(automatic semicolon injection):编译器会在每行代码尾部特定分隔符后加?;?来分隔多条语句,比如会在?)?后加分号: ? // 错误示例 func main()????[详细]
-
2.go命令源文件分析
所属栏目:[大数据] 日期:2020-12-16 热度:56
回顾 上一节我们成功安装了golang,并设置好了环境变量,能使用go run来测试源码 这里我们介绍下go语言的源码: 以.go结尾的文件认为是go语言的源文件,go语言的源文件可以分为三类:命令源文件: package声明为main 有且只有一个main函数,会编译成可执行文[详细]
-
「golang」panic: commands out of sync. Did you run multiple
所属栏目:[大数据] 日期:2020-12-16 热度:55
【问题现象】 go使用 go-sql-driver 连接mariaDB,如下,提示: panic: commands out of sync. Did you run multiple statements at once ? 示例: func NewMysqlDB(host string ,port int ,user ,pwd ,dbName string ,maxIdle int) (*sqlx. DB , error) { s[详细]
-
golang实现简单的栈
所属栏目:[大数据] 日期:2020-12-16 热度:58
栈的ADT 数据 栈的数据对象集合为{a1,a2,a3...an},具有相同数据类型,有唯一前驱后续 操作 InitStack() *Stack //初始化操作,创建一个空栈 Clear() //清空栈 IsEmpty() bool //栈是否为空,若栈为空,返回 true,否则 返回 false。 Peek() interface{} //若[详细]
-
gocode安装不上的解决办法
所属栏目:[大数据] 日期:2020-12-16 热度:144
mkdir -p $GOPATH/src/golang.org/x? //路径下创建此文件 cd $GOPATH/src/golang.org/x? ? ? //切换到此目录 git clone https://github.com/golang/tools.git? //通过git安装 tools git clone https://github.com/golang/lint.git? ?//安装 lint? go get gol[详细]
