-
tbox协程使用之切换与等待
所属栏目:[大数据] 日期:2020-12-16 热度:99
tbox的协程实现,是stackfull模式的,需要指定独立堆栈和协程函数,目前暂时还不能像golang那样实现堆栈的动态增长,之后会对其进行支持。 目前提供下面一些功能特性: 1. 提供yield切换调度支持,这个是必须的哈 2. 提供suspend(挂起)/resume(恢复)协程接口[详细]
-
Golang 获取文件 md5 校验和的方法及效率比较
所属栏目:[大数据] 日期:2020-12-16 热度:165
近期有一个需求:获取多个文件 md5 校验和判断是否存在重复文件,因为文件数量较多,有的文件还比较大,需要处理的文件还没有到位,我就考虑了一下效率的问题。目前我已知的 Golang 中获取 md5 校验和的方法有两个,这里直接给出实现源码。 package main imp[详细]
-
golang实现http post
所属栏目:[大数据] 日期:2020-12-16 热度:78
package mainimport ("fmt""io/ioutil""net/http""net/url""strings")func main() {v := url.Values{}v.Set("huifu","hello world")body := ioutil.NopCloser(strings.NewReader(v.Encode())) //把form数据编下码client := http.Client{}req,_ := http.NewRe[详细]
-
golang beego接受post json字符串解析返回JSON数据
所属栏目:[大数据] 日期:2020-12-16 热度:66
在 API 的开发中,我们经常会用到 JSON 或 XML 来作为数据交互的格式,如何在 beego 中获取 Request Body 里的 JSON 或 XML 的数据呢? 在配置文件里设置 copyrequestbody = true 在 Controller 中 json 用来解析JSON的包 ob定义的struct func ( this * Obje[详细]
-
golang文件下载文件名乱码
所属栏目:[大数据] 日期:2020-12-16 热度:91
golang文件下载文件名乱码 fileName=url.QueryEscape(fileName)//防止中文乱码 其他参考前文:http://www.jb51.cc/article/p-bpvqkfpp-rp.html[详细]
-
golang 实现 json web token
所属栏目:[大数据] 日期:2020-12-16 热度:123
json web token 简介 json web token 简称 jwt.他是一种轻量级的 规范 .这种规范允许客户端和服务端之间传递一些非敏感信息. 常用于用户认证和授权系统. jwt组成部分 Header Claims Signature Header 组成部分 typ: "JWT",alg: "HS256", 1. typ是默认的一种[详细]
-
编写可测试的Go代码
所属栏目:[大数据] 日期:2020-12-16 热度:66
原文链接:http://tabalt.net/blog/golang... Golang作为一门标榜工程化的语言,提供了非常简便、实用的编写单元测试的能力。本文通过Golang源码包中的用法,来学习在实际项目中如何编写可测试的Go代码。 第一个测试 “Hello Test!” 首先,在我们 $GOPATH/s[详细]
-
vscode golang开发环境
所属栏目:[大数据] 日期:2020-12-16 热度:146
安装vscode 安装vscode-go 插件 进入vscode界面,打开命令面板 Ctrl + Shift + P ,输入 install Completion Lists ( using gocode)Signature Help ( using godoc)SnippetsQuick Info ( using godef) Goto Definition ( using godef)Find References ( using g[详细]
-
golang context(SDK1.7 新增部分)
所属栏目:[大数据] 日期:2020-12-16 热度:186
golang 1.7之后引入了context. 首先看看context,下边是golang sdk源代码中context内容,可以发现他是一个接口,通过定义一种规范,来规定context操作方法. // 上下文是一个接口. // 这个接口中声明了4个方法. type Context interface { // Deadline returns the[详细]
-
golang web编程之——读取csdn最新文章
所属栏目:[大数据] 日期:2020-12-16 热度:128
利用go语言内置的各种网络包可以方便的进行web编程。本文章利用了csdn的开放API实现读取最新文章的需求。演示了go语言发起http get请求和json的umarshing特性。 原文:小宇的博客 简单的http GET请求 go语言内置了 net/http 包,采用 http.Get 能够方便的发[详细]
-
golang https服务简单介绍
所属栏目:[大数据] 日期:2020-12-16 热度:81
首先从启动https监听服务开始. 完成Server实例创建. 配置https协议 启动tcp监听 1. 开启server https服务 通过下边的函数,开启https服务,下边函数主要初始化了Server实例,然后通过ListenAndServeTLS开启https服务. func ListenAndServeTLS(addr,certFile,key[详细]
-
TODO:Go语言同名Go字体发布
所属栏目:[大数据] 日期:2020-12-16 热度:124
TODO:Go语言同名Go字体发布 2016-11-16 Go语言官方博客发布了一款同名字体–Go字体。此字体族包括正常、粗体和斜体渲染,支持比例和等宽字体。此字体已经经过用于编程方面的技术测试,使用Go字体显示,Go源码看起来非常漂亮,名副其实。标点符号容易辨识,[详细]
-
golang驱动kafka
所属栏目:[大数据] 日期:2020-12-16 热度:120
kafka简介 kafka是一种高吞吐量的分布式发布订阅消息系统, 特点 通过O(1)的磁盘数据结构提供消息的持久,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量,即使是非常普通的硬件,kafka也可以支持每秒数百万的消息. 支持通过kafka服务器[详细]
-
Golang1.7.3使用标准库的AES加密解密不实用扩展协议
所属栏目:[大数据] 日期:2020-12-16 热度:153
package mainimport ( "crypto/aes" "crypto/cipher" "fmt" )type tobytes struct { cip cipher.Block pdgtext [] byte }func main() { cip,_ := aes.NewCipher([] byte ( "1234567891234567" )) enc := tobytes{cip: cip,pdgtext: make([] byte ,cip.BlockS[详细]
-
Golang学习总结——陈科肇20161122
所属栏目:[大数据] 日期:2020-12-16 热度:113
用意 从开始接触go,到现在已经差不多一个月的时间了。在这里我把学习go的过程记录下,方便以后待真正需要使用此门语言的时候,开发状态能快速回位。 项目实践 每学习一门语言,要判断其撑握程度,最有效的手段是来个项目验证一下咯。项目实践的过程会让你无[详细]
-
golang使用protobuf例子
所属栏目:[大数据] 日期:2020-12-16 热度:84
安装 1.go get github.com/golang/protobuf; 2.进入gopath的protobuf目录,执行makemake install,在gopath/bin目录下生成proto相关工具; 使用 1.执行命令vim msg.proto新建一个名为msg.proto的文件,并将其打开,在其中输入如下内容: package demo; //go[详细]
-
TODO:Go语言goroutine和channel使用
所属栏目:[大数据] 日期:2020-12-16 热度:101
TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语言运行时(runtime)管理。使用的时候在函数前面加“go”这个单词作为关键词,也是与普通函数的区别了。在函数前面加go关键字就可以创建一个新的goroutine进行并发执行。 go h[详细]
-
golang中的数组
所属栏目:[大数据] 日期:2020-12-16 热度:79
概念:指同一系列同一类型数据的集合。 声明方法如下: [32]byte //长度为32的数组 [2*N] struct { x,y int32} //复杂类型的数组 [1000]*float64 //指针数组 [3][5]int //二维数组 [2][2][2]float64 //等同于[2]([2]([2]float64)) 获取数组长度:arrLength :[详细]
-
golang使用groupcache(github.com上golang团队发布)
所属栏目:[大数据] 日期:2020-12-16 热度:171
groupcache 简介 在软件系统中使用缓存,可以降低系统响应时间,提高用户体验,降低某些系统模块的压力. groupcache是一款开源的缓存组件.与memcache与redis不同的时,groupcache不需要单独的部署,可以作为你程序的一个库来使用. 这样方便我们开发的程序部署. gr[详细]
-
golang中的数组切片
所属栏目:[大数据] 日期:2020-12-16 热度:165
概念:基于数组,数组切片添加了一系列管理功能,可以随时动态扩充存放空间,并且不会导致所管理的元素被重复复制。 创建数组切片: 方法一,基于数组: packagemainimport"fmt"funcmain(){//defineanarrayvarmyArray[10]int=[10]int{1,2,3,4,5,6,7,8,9,10}/[详细]
-
Golang 连接mysql
所属栏目:[大数据] 日期:2020-12-16 热度:78
package mainimport ( "database/sql" "fmt" //需要在本地配置gobin,并且在gitbub上搞到驱动,并且本地编译通过,只要配置好 //path,cmd下执行命令:go get github.com/go-sql-driver/mysql //就可以再你配置的gobin下看到打包好的可以使用的代码 //项目主[详细]
-
用 go 实现跨平台 Autoit/AutoHotkey 和按键精灵功能示例代码
所属栏目:[大数据] 日期:2020-12-16 热度:153
Robotgo v0.40.0 对鼠标键盘操作进行了大幅度的完善,由于跨平台切换测试麻烦、合并对比几个平台的代码浪费时间,再加上 C 代码生产效率与 Go 和 JavaScript 不在一个级别上,没有支持窗口和进程对应窗口的选择以及窗口Bounds,将会在下一个版本完善,键盘操作可[详细]
-
go get golang.org/x/net
所属栏目:[大数据] 日期:2020-12-16 热度:111
go get golang.org/x/net 下载失败 从https://github.com/golang/net下载,然后把目录改成golang.org/x/net。然后,万事大吉。 ps:有git的话可以直接 go getgithub.com/golang/net,没有的话自己手动下载放到src目录下即可。[详细]
-
Golang类型转换
所属栏目:[大数据] 日期:2020-12-16 热度:68
golang是强类型语言,在应用过程中类型转换基本都会用到。下面整理一下常用的类型转换,会持续更新。 bytes 、string转换 //类型转换 string to bytes func str2bytes(s string ) [] byte { x := (* [2 ] uintptr )(unsafe.Pointer(s)) h := [3 ] uintptr {x[详细]
-
golang数组去重 去空
所属栏目:[大数据] 日期:2020-12-16 热度:98
数组去重 去空 /** * 数组去重 去空 */ func removeDuplicatesAndEmpty(a []string) (ret []string) { a_len := len(a) for i := 0 ; i a_len; i++ { if (i 0 a[i- 1 ] == a[i]) || len(a[i]) == 0 { continue } ret = append(ret,a[i]) } return }[详细]
