-
golang(5):编写WebSocket服务,客户端和html5调用
所属栏目:[大数据] 日期:2020-12-16 热度:173
本文的原文连接是: http://www.jb51.cc/article/p-qveauntj-ber.html 转载请必须注明出处! 1,关于websocket HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。 在JavaEE7中也实现了WebSocket协议。 在 WebSocket API,浏览器和服务[详细]
-
算法基础:数组指定规则排序问题(Golang实现)
所属栏目:[大数据] 日期:2020-12-16 热度:75
给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序, 如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列。如果第i列到最后一列都相同,则按原序排列。 样例输入: 1,2,3 2,3,4[详细]
-
GO语言为结构体排序
所属栏目:[大数据] 日期:2020-12-16 热度:105
package mainimport ("fmt""io/ioutil""sort""time")type info struct {Name stringTime time.Time}type newlist []*infofunc main() {l,e := getFilelist("./")if e != nil {fmt.Println(e)}sort.Sort(newlist(l)) //调用标准库的sort.Sort必须要先实现Len([详细]
-
Golang:slice之append时原数组发生变化的问题
所属栏目:[大数据] 日期:2020-12-16 热度:196
使用append可以在slice之后追求元素,例如 nums: =[]int{ 1 , 2 , 3 } result: =append(nums, 4 )fmt .Println (result) 这段代码很简单,输出result的值为:[1 2 3 4] 问题在于,进行这种操作时,原来的slice(即nums)所基于的数组的值会不会发生变化呢?[详细]
-
安装go语言环境
所属栏目:[大数据] 日期:2020-12-16 热度:72
一、基础环境1、cat/etc/debian_version7.82、uname-r3.2.0-4-amd643、ip(eth0)10.1.10.1174、go版本go1.4.linux-amd64.tar.gz5、官网https://golang.org/二、安装二进制go1、下载axel-n10http://www.golangtc.com/static/go/go1.4.linux-amd64.tar.gz2、解[详细]
-
go内存泄露case
所属栏目:[大数据] 日期:2020-12-16 热度:165
用go写了一个守护进程程序:用于检测redis的存活状态并将结果写到zookeeper中,部署到redis机器上,对于每个redis实例会有一个goroutine每隔固定时间去检测其状态,由主goroutine负责信号处理等,再接收到信号时kill其他的goroutine。程序运行了一段时间发现[详细]
-
使用GO语言实现的日志集中查看的小功能.
所属栏目:[大数据] 日期:2020-12-16 热度:62
程序分为站点端和中心端(相当于一个proxy). 这个小功能主要是解决,程序经常让我们去拖日志,特别烦.所以做个小程序.使程序可以自己去线上查看. 有个问题是,不能把游戏服务器暴露出来,还有就是不能占用业务机器的公网带宽. 这个小程序主要就是中心端(proxy)通[详细]
-
go代理服务器代码
所属栏目:[大数据] 日期:2020-12-16 热度:172
go代理服务器代码 最近用废弃的小笔记本搭了个centos服务器挂着,搭了ssh,tomcat,go环境,想搭个代理服务器访问路由,不想安装,想自己写一个,顺便复习一下go语言知识。 一开始,我网上搜了一下go语言写代理服务器的代理,搜索到一个: 来自:http://symphon[详细]
-
用Go写了一个类似Proxy的小程序,可以用来访问goolge个人使用还是
所属栏目:[大数据] 日期:2020-12-16 热度:166
package mainimport ("fmt""io""net/http")func main() {http.HandleFunc("/",route)e := http.ListenAndServe(":80",nil)if e != nil {fmt.Println(e)}}func route(w http.ResponseWriter,r *http.Request) {req,_ := http.NewRequest(r.Method,"",r.Body)r[详细]
-
golang 静态文件服务器
所属栏目:[大数据] 日期:2020-12-16 热度:75
1、http.Handle("/static/",http.StripPrefix("/static/",http.FileServer(http.Dir("static"))))2、mux.PathPrefix("/static/").Handler(http.StripPrefix("/static/",http.FileServer(http.Dir("static/"))))[详细]
-
golang channel缓冲区阻塞
所属栏目:[大数据] 日期:2020-12-16 热度:133
常见双通道channel使用:c2:=make(chanint,2)c2-1c2-2c2-3fmt.Println(-c2)fmt.Println(-c2)fmt.Println(-c2)由于channel大小只有2个,在c2-3那里一定会阻塞,然后程序一直阻塞下去死掉程序报错:fatalerror:allgoroutinesareasleep-deadlock! 改进方法:1、[详细]
-
golang轮询机制select的理解
所属栏目:[大数据] 日期:2020-12-16 热度:95
funcmain(){c:=make(chanint)quit:=make(chanint)gofunc(){fori:=0;i10;i++{fmt.Println(-c)}quit-0}()fibonacci(c,quit)}//select的轮询机制funcfibonacci(cchanint,quitchanint){x,y:=0,1for{select{//select轮询机制casec-x:x,y=y,x+ycase-quit:fmt.Print[详细]
-
看别人代码的时候有时候查看个关键字,但是liteide没有整个项目搜
所属栏目:[大数据] 日期:2020-12-16 热度:136
go的版本是1.4的 package mainimport ("bufio""flag""fmt""os""path/filepath""regexp")var path *string = flag.String("p","./","搜索的路径")var re_string *string = flag.String("r","","关键字")func main() {flag.Parse()if *re_string == "" {fmt.Pr[详细]
-
golang缩略图
所属栏目:[大数据] 日期:2020-12-16 热度:52
今天研究了golang生成缩略图的相关知识,在网上找到一篇不错的相关博客,博客地址:http://www.cnblogs.com/ghj1976/p/3445507.html。 有个注意事项这里提醒一下: 官方文档原话: Image接口可以通过调用如NewRGBA和NewPaletted函数等获得;也可以通过调用De[详细]
-
golang中timer定时器实现原理
所属栏目:[大数据] 日期:2020-12-16 热度:168
一般我们导入import ("time")包,然后调用time.NewTicker(1 * time.Second) 实现一个定时器: functimer1(){timer1:=time.NewTicker(1*time.Second)for{select{case-timer1.C:xxx()//执行我们想要的操作}}} 再看看timer包中NewTicker的具体实现: funcNewTic[详细]
-
golang原子库atomic
所属栏目:[大数据] 日期:2020-12-16 热度:88
packageatomicimport("unsafe")//BUG(rsc):Onx86-32,the64-bitfunctionsuseinstructionsunavailablebeforethePentiumMMX.////Onnon-LinuxARM,the64-bitfunctionsuseinstructionsunavailablebeforetheARMv6kcore.////OnbothARMandx86-32,itisthecaller'srespo[详细]
-
golang 类型转换
所属栏目:[大数据] 日期:2020-12-16 热度:95
仅作记录,以便以后用到时查看方便。 字符串与整形: //string to 10进制int64 i,err := strconv.ParseInt(string,10,64)//int64 to stringfmt.Sprintf("%d",int64)//我一般用这种方式s := strconv.FormatInt(int64,10)//查找资料后得知这种方式比较正规//st[详细]
-
falcon-open 问题解决小扩展
所属栏目:[大数据] 日期:2020-12-16 热度:90
package mainimport ("fmt""net""strings""sync")type List struct {Lock sync.MutexIPList map[string]bool}var CheckList *List = NewList()func main() {for _,k := range []string{"127.0.0.1","192.168.10.1","172.18.80.1"} {CheckList.Add(k)}conn,_[详细]
-
Golang中JSON的使用
所属栏目:[大数据] 日期:2020-12-16 热度:113
GO Json author: qcliu date: 2015/07/21 Abstrct 介绍go语言中json的使用 json json是一种传输格式,类似与XML,与XML相比可读性略差,但是传输效率高。 GO Json go语言中提供了json的encoder,可以将数据结构转换为json格式。在使用之前,需要导入包 impor[详细]
-
golang操作mongodb
所属栏目:[大数据] 日期:2020-12-16 热度:180
1、要安装mongodb数据库,2、要下载golang的mgo包,3、连接操作 package mainimport ("gopkg.in/mgo.v2""gopkg.in/mgo.v2/bson""fmt")const URL = "192.168.1.83:27017" //mongodb的地址func main() {session,err := mgo.Dial(URL) //连接服务器if err != ni[详细]
-
[转文]使用Go语言和GPU运算能力进行科学计算 一个高度可靠的CUDA
所属栏目:[大数据] 日期:2020-12-16 热度:146
使用Go语言和GPU运算能力进行科学计算 一个高度可靠的CUDA HPC的新方法 Scientific GPU Computing with Google's Go Language A Novel Approach to Highly Reliable CUDA HPC 原文地址点击访问[详细]
-
Erlang和Golang的几点粗浅的比较
所属栏目:[大数据] 日期:2020-12-16 热度:199
我最早使用的语言是Java和Python, 并且一直都对Python充满好感, 我喜欢这种很朴实和高效率的感觉, 但我却最后没有采用Python,原因其实也很简单, 我就是不喜欢缩进语法, 就跟很多人换工作仅仅是为了屏幕更大一点一样, 另外就是有了同样很棒的可选方案[详细]
-
golang捕获http.ResponseWriter被close的两种方式(有无context
所属栏目:[大数据] 日期:2020-12-16 热度:96
golang捕获http.ResponseWriter被close的两种方式(有无context) 方便被传阅,采用中文,其实习惯看英文后,发现中文对于一些问题,读起来绕口,接下来有很多也是直接照搬英文,以下几个方面简单介绍下: - 为嘛服务端需要知道http连接被断开(客户端主动ca[详细]
-
golang 1.5 预计 8 月11 日发布
所属栏目:[大数据] 日期:2020-12-16 热度:149
偶尔搜索到了 golang的计划 https://github.com/golang/go/milestones 再过6天左右时间 golang 1.5 就发布了 现在 1.5 已经是beta3了,golang发版本的速度超级快[详细]
-
Golang 字符串比较,一个不大不小的坑
所属栏目:[大数据] 日期:2020-12-16 热度:140
背景是酱紫的,对一串字符串做了AES解密后得到的密文,从密文中截取了签名,和之前存在数据库里的签名进行比较验签的时候,一直失败,打印两个签名值出来看,一模一样... Google后在一篇博客里发现了这句'String values are compared byte-wise (lexically).[详细]
