
go语言
泪光雨99
这个作者很懒,什么都没留下…
展开
-
go asynq异步任务
go asynq异步任务框架原创 2023-02-17 11:35:56 · 617 阅读 · 1 评论 -
go拼接字符串性能对比
测试对比:bytes.buffer和builder性能差不多数组strings.Join性能次之fmt.Springf性能最差,而且随着字符串越大,性能越差,适合小字符串拼接。原创 2022-06-21 10:25:14 · 281 阅读 · 0 评论 -
go redsync分布式锁
1.redsync分布式锁https://github.com/go-redis/redis?files=1https://github.com/go-redsync/redsync/blob/master/redsync.gopackage mainimport ( "fmt" "time" goredislib "github.com/go-redis/redis/v8" redsync "github.com/go-redsync/redsync/v4" "github.com/原创 2022-05-18 22:18:16 · 1220 阅读 · 0 评论 -
使用restful接口读取TDengine数据
使用http请求查询tdengine数据注意HTTP 请求 URL 采用 sqlt 时,返回结果集的时间戳将采用 Unix 时间戳格式表示.url := “http://127.0.0.1:6041/rest/sqlt/test”{ "status": "succ", "head": ["ts","current","voltage","phase"], "column_meta": [["ts",9,8],["current",6,4],["voltage",4,4],["原创 2022-02-28 17:46:19 · 4509 阅读 · 0 评论 -
go使用restful接口写入TDengine数据
使用tdengine taosAdapter导入influxdb格式的数据到tdenginepackage mainimport ( "bytes" "crypto/tls" "fmt" "io/ioutil" "net/http" "time")func main() { str := `cyl,host=host2,host1=host3 field1=2i,field2=2.0,field3=4.0 1577859000000000090` buf := bytes.New原创 2022-02-28 16:39:28 · 570 阅读 · 0 评论 -
go net/pprof 简单使用
1.安装graphvizmac 用 brew install graphviz 失败后,尝试用源码安装。从官网下载https://graphviz.org/download/source/点击红线圈住的链接,即可下载源码。解压后,以此输入以下三个命令,完成安装。./configuremakemake install2.使用net/http2.1 在代码中添加如下代码"net/http"_ "net/http/pprof"go func() { http.Listen原创 2022-01-26 16:28:54 · 1206 阅读 · 0 评论 -
mac 安装nsq,启动多个nsqd
1. 安装brew install nsq2. 启动命令2.1 启动nsqdlooknsqlookupd2.2 启动nsqd首先要在/usr/local/nsqd/创建三个文件夹node1,node2,node3第一个nsqdnsqd --lookupd-tcp-address 127.0.0.1:4160 --broadcast-address127.0.0.1 --data-path /usr/local/nsqd/node1 -http-address 127.0.0.1:原创 2022-01-23 12:03:12 · 1973 阅读 · 0 评论 -
go test测试及命令
1.测试框架 testing与assert结合package statsimport ( "testing" "time" "github.com/stretchr/testify/assert")func TestWork(t *testing.T) { var cases = []struct { name string index string body *DatawayFlow expect *DatawayFlow }{ { name:原创 2022-01-23 11:42:03 · 2505 阅读 · 0 评论 -
go time相关
package mainimport ( "fmt" "time")func main() { fmt.Println(time.Unix(1641384248, 0).Format("2006-01-02 15:04:05"))//2022-01-05 20:04:08 fmt.Println(time.Now().Add(time.Hour * 10).Unix())//秒 1641993058 fmt.Println(time.Now().UnixNano())//纳米 16419原创 2022-01-12 11:15:46 · 98 阅读 · 0 评论 -
go语言解析HTML
1、Go语言获取HTML的源码,为string格式,用第三方包(“github.com/PuerkitoBio/goquery”)解析string格式的HTML源码。2、代码如下:package mainimport ( "fmt" "os/exec" "log" "strings" "github.com/PuerkitoBio/goquery")/*<!DOCT...原创 2019-12-02 18:35:04 · 2032 阅读 · 0 评论 -
go语言调用python问题
1、Go语言调用python出错,直接cmd中运行python脚本没有问题,解决方法,Go语言用32位系统编译即可。原创 2019-10-12 17:25:04 · 975 阅读 · 0 评论 -
go语言数据格式转换
package mainimport ( "fmt" "strconv")func main() { //int转换为string a := 12 a_string := strconv.Itoa(a) fmt.Println("a_string", a_string) //"12" //string 转换为 int a_i...原创 2018-07-25 14:39:44 · 584 阅读 · 0 评论 -
go语言nil 问题?
golang 这段代码 checkError 为什么会触发 panic ?package mainimport ( "fmt")type Error struct { errCode uint8}func (e *Error) Error() string { switch e.errCode { case 1: return...原创 2018-07-28 11:31:34 · 1048 阅读 · 0 评论 -
VS2012调用2013a matlab生成的dll
1、matlab生成dll matlab例子:test.mfunction retVal = test()retVal =3+4;end(1) mbuild -setup 选择编译器。 (2) mcc -W cpplib:test -T link:lib test.m 生成dll 2、VS2012调用dll (1)新建工程,把test.dll、test.h、tes...原创 2018-08-11 18:32:59 · 637 阅读 · 0 评论 -
go语言调用matlab生成的dll
Go语言直接调用matlab调用的dll,传参总是出问题,在网上找了各种方法都不对,所以在此使用VS把matlab生成的dll重新封装新的dll,然后给Go语言调用。如何查看dll中的函数呢? 1、VS如何把matlab生成的dll重新封装为新的dll 1)创建项目 2)写主函数test.cpp#include &quot;hfcV2.h&quot;#includ...原创 2018-08-22 12:19:23 · 1386 阅读 · 0 评论 -
Go语言解决读取文件乱码
1、当文件中存在中文字符时,读取文件出现乱码,解决方法:使用"github.com/axgle/mahonia"第三方包解译码。package functionimport ( "strings" "fmt" "io/ioutil" "os" "github.com/axgle/mahonia")func main() { fi, err := os.Open("E:\\go...原创 2019-04-11 14:00:05 · 9095 阅读 · 0 评论 -
nsq的安装及简单使用
1、下载nsq打开 https://nsq.io/deployment/installing.html 下载对应的nsq版本,我下载的是linux最新稳定版.2、Linux上安装nsq2.1 、将包上传至服务器后解压;tar xvf nsq-1.1.0.linux-amd64.go1.10.3.tar.gz2.2、进入bin目录 cd nsq-1.1.0.linux-amd64.go1....原创 2019-05-27 19:27:28 · 3535 阅读 · 0 评论 -
go语言http请求退出上一次的协程并启动新的协程
var startSign = truevar closeSign = make(chan int)func (this *test) HandleTest(ctx *ripple.Context) { ctx.Response.Body = bson.M{"Status": "Success"} if startSign == true { //默认第一次请求为true go th...原创 2019-06-27 16:25:26 · 883 阅读 · 0 评论 -
go语言两个json对比
1、json文件{ "test1" : { "aa" : 0, "bb" : 0, "cc" : [ 1, 0 , 0, 0, 0, 0], "dd" : 1 }, "test2" : { "ee" : [ 1, 0 ], "tt" : 288, "gg" : 1, "nn" : ...原创 2019-07-15 19:15:46 · 1985 阅读 · 0 评论 -
go语言解析xml文件
1、xml示例<Managed xmlns="aa"> <Function xmlns="bb"> <Cell> <Block xmlns="cc"> <Info> <beamIndex>18</beamIndex> ...原创 2019-08-12 14:46:22 · 735 阅读 · 0 评论 -
Go语言学习——文件1(复制文件)
Go语言复制文件package mainimport ( "fmt" "io" "os")func main() { w, err := CopyFile("E:\\0416\\datacopy.txt", "E:\\0416\\data.txt") if err != nil { fmt.Println(err.Error()) }原创 2018-04-28 14:58:37 · 316 阅读 · 0 评论 -
go语言 []byte转换为string,不发生拷贝
go语言经典面试题 1、若直接转,则会发生拷贝。package mainimport ( "fmt" // "reflect" "unsafe")func main() { var b = []byte("123") s := *(*string)(unsafe.Pointer(&b)) b[1] = '4' fmt...原创 2018-04-22 10:29:10 · 2176 阅读 · 0 评论 -
go语言生成json格式的文件
1、Go语言如何生成json格式的文件,利用ioutil.WriteFile生成文件。可以通过序列化和反序列化把json数据的部分数据生成文件。import ( "encoding/json" "fmt" "io/ioutil" "os")type ColorGroup struct { ID int Name string...原创 2018-04-04 14:37:44 · 8847 阅读 · 0 评论 -
go语言 取出在mapA而不在mapB中的键
1、有两个map数据,想取出在mapA而不在mapB中的键 slicenum := make(map[string]interface{}) for batch, _ := range MapA { flag := 1 for batch1, _ := range MapB { if batch1 =原创 2017-08-08 15:07:27 · 259 阅读 · 0 评论 -
go语言 二维切片利用encoding/csv保存为csv文件
1、二维切片如何生成,并且如何把二维切片保存为csv文件,文件生成路径与main函数所在路径相同,程序如下package mainimport ( "encoding/csv" //"encoding/json" "fmt" "os" //"io/ioutil")func main() { //二维slice原创 2017-08-08 15:23:40 · 2621 阅读 · 0 评论 -
go 语言使用ssh包连接操作Linux服务器,使用ping包查看服务器网络是否正常,使用cron包定时查询该服务器CPU使用情况
1、在https://www.golangtc.com/download/package输入 golang.org/x/crypto/ssh下载ssh第三方包ssh,同样方法下载cron包和ping包 2、如何使用ssh操作Linux服务器 package controllers import ( . “domain/model” “bytes” “fmt”原创 2017-09-07 10:45:58 · 1088 阅读 · 0 评论 -
go 语言第三方库parallel的并行使用
下面介绍一下go语言第三方库parallel的并行使用: https://github.com/buptmiao/parallel中可以查看库的使用用例。parallel是一个go语言并行程序库, 用于不改变现有接口声明前提下的业务聚合或者重构. 如果需要循环某一个函数(oneDBAlarmCodeAnaylse),只是参数不同(db, userinfo),则可以使用parallel, 它可以原创 2017-09-07 10:54:12 · 2280 阅读 · 0 评论 -
Go语言实现websocket与前端交互
1、在https://www.golangtc.com/download/package下载第三方包websocket package websocketserviceimport ( . "domain/model" "infrastructure/log" "net/http" "time" "golang.org/x/net/websocket")va原创 2017-09-07 11:03:43 · 5099 阅读 · 1 评论 -
Go语言创建文件夹,并设置权限0777
1、遍历dirPathInfoList 中的文件目录,在各个目录下判断文件夹201802是否存在,若不存在,则创建201802文件夹。 2、实际生成的文件权限可能与你设置的不一致(参考 http://blog.youkuaiyun.com/lipengfeihb/article/details/54415283),添加os.chmod(pathTmp, 0777),通过chmod重新赋权限。for _,原创 2018-01-02 17:15:46 · 7908 阅读 · 0 评论 -
Go语言启动web服务的实现方式
在《Go Web编程》书中有更详细的介绍。转载自http://blog.youkuaiyun.com/desire121/article/details/521437001.首先看一个简单的web服务package mainimport ( "io" "net/http" "log") // hello world, the web serverfunc Hel转载 2018-01-21 11:18:07 · 3267 阅读 · 0 评论 -
go 语言调用 python 把.dat格式数据转换为.mat
1、安装numpy 和scipy模块 2、由于没有找到Go语言直接把.dat转换为.mat格式的方法,采用Go语言调用python转换。利用os/exec包中的Command方法调用python,后面三个是参数,存放需要转换数据的路径及转换格式。 cmd := exec.Command("python", "getData.py", fileStrings, filesPath, da...原创 2018-03-23 13:47:13 · 1323 阅读 · 0 评论 -
Go语言获取路径的文件名、后缀
import ( "fmt" "os" "path/filepath" "path") files := "E:\\data\\test.txt" paths, fileName := filepath.Split(files) fmt.Println(paths, fileName) //获取路径中的目录及文件名 E:\dat...原创 2018-03-23 14:18:59 · 26383 阅读 · 0 评论 -
Go语言调用python调用matlab,实现matlab并行运行
1、Go语言利用exec可以调用python脚本,并通过websocket把结果传送给前端。注意点1:如何实现cd到指定目录下运行python脚本,cmd.Dir = “E:\test”,进入python脚本所在目录。注意点2:python脚本必须与matlab的.m文件在同一目录下。 matlabPath := "E:\\test\\Analysis.m" cm...原创 2018-04-03 15:31:43 · 2219 阅读 · 0 评论 -
beego搭建
1、下载git工具,用git工具搭建,需要配置环境变量GOPATH F:\go\test2\PATH 添加F:\go\test2\bin,配置好环境变量go get github.com/astaxie/beego,然后go get github.com/beego/beePATH 添加F:\go\test2\bin,否则bee newtest2原创 2017-07-12 19:33:20 · 961 阅读 · 0 评论