随笔分类 -  Go

摘要:CGO_ENABLED=0 GOOS=linux GOARCH=mipsle go build main.go 阅读全文
posted @ 2022-10-10 19:31 zhaogaojian 阅读(66) 评论(0) 推荐(0) 编辑
摘要:cd /usr/bin rm go rm gofmt ln -s /usr/local/go/bin/go ln -s /usr/local/go/bin/gofmt 阅读全文
posted @ 2022-10-09 18:15 zhaogaojian 阅读(140) 评论(0) 推荐(0) 编辑
摘要:1、虽然Vscode挺完美了,但是打开时感觉比SubLime慢1秒钟左右,如果临时改一些简单功能,可以用SubLime. 2、使用SubLime开发Go需要安装如下插件 3、如果保存时候一直弹出Go.exe控制台,可能就是少安装插件了,自己对比下。 阅读全文
posted @ 2022-01-05 11:38 zhaogaojian 阅读(868) 评论(0) 推荐(0) 编辑
摘要:Walk是Go的一个开发窗口程序的库,下面以ListBox使用方法做说明 原始代码太长,不利于理解,精简一下 // Copyright 2012 The Walk Authors. All rights reserved. // Use of this source code is governed 阅读全文
posted @ 2021-12-02 02:06 zhaogaojian 阅读(434) 评论(0) 推荐(0) 编辑
摘要:WSL2下默认不支持串口,可以用一个socat工具创建串口测试环境 一、创建串口对 socat -d -d pty,b115200 pty,b115200 发送数据 echo "test string" > /dev/pts/1 显示数据 cat < /dev/pts/2 二、建立串口对与网络之间的 阅读全文
posted @ 2021-11-14 13:23 zhaogaojian 阅读(771) 评论(0) 推荐(0) 编辑
摘要:var newNum float64 _, err := fmt.Sscanf(value, "%e", &newNum) if err == nil { value = fmt.Sprintf("%.f", newNum) } 阅读全文
posted @ 2021-11-10 22:07 zhaogaojian 阅读(312) 评论(0) 推荐(0) 编辑
摘要:造成这个问题的其中一个原因是,打开文件夹时,定位到了go文件所在目录的上层目录,从新定位到go文件所在目录即可。 阅读全文
posted @ 2021-11-02 16:13 zhaogaojian 阅读(747) 评论(0) 推荐(0) 编辑
摘要:直接在struct里查询有点难,转成json后使用第三方的库 gojsonq,来查询JSON数据 package main import ( "fmt" gojsonq "github.com/thedevsaddam/gojsonq/v2" ) func main() { const json = 阅读全文
posted @ 2021-09-07 19:07 zhaogaojian 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1、项目中用到一个json,需要按序显示,功能不说,不按序显示实在是看着难受,网上有很多方法,但是都只能解决部分问题。 2、之前代码已经做好了,不想做大改动,找到一个扩展库go-ordered-json 3、使用方法 第一步 "encoding/json" 替换成 json "github.com/ 阅读全文
posted @ 2021-09-06 23:32 zhaogaojian 阅读(596) 评论(0) 推荐(0) 编辑
摘要:修改mosquitto.conf #listener 1883 192.168.1.2 #listener 1883 127.0.0.1 listener 1883 0.0.0.0 可以用上面两行,也可以直接使用最下面一行。 阅读全文
posted @ 2021-09-06 11:33 zhaogaojian 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:1、客户端 apt-get install telnet 2、服务端 sudo apt-get install openbsd-inetd sudo apt-get install telnetd sudo /etc/init.d/openbsd-inetd restart 阅读全文
posted @ 2021-09-06 00:05 zhaogaojian 阅读(539) 评论(0) 推荐(0) 编辑
摘要:1、GoLevelDB https://github.com/syndtr/goleveldb 功能较少,只有Get,Put,Delete,Interator几个功能 使用示例: iter := db.NewIterator(nil, nil) for iter.Next() { key := it 阅读全文
posted @ 2021-09-05 21:31 zhaogaojian 阅读(220) 评论(0) 推荐(0) 编辑
摘要:Ubunut20.04环境 默认go marshal,Unmarshal效率较低,可以使用EasyJson 1、命令行直接输入easyjson会提示apt安装,然后安装 2、创建一个go文件,结构体上标注 //easyjson //easyjson:json type School struct { 阅读全文
posted @ 2021-09-05 21:28 zhaogaojian 阅读(343) 评论(0) 推荐(0) 编辑
摘要:1、以测试marshal和for循环为例 2、新建一个文件夹,添加代码 package main_test import ( "encoding/json" "fmt" "testing" ) type A struct { ContentA string `json:"content_a"` Co 阅读全文
posted @ 2021-09-05 13:41 zhaogaojian 阅读(127) 评论(0) 推荐(0) 编辑
摘要:1、示例 // DataType is defined for the different types type DataType byte // for out use const ( KV DataType = iota LIST HASH SET ZSET ) func (d DataType 阅读全文
posted @ 2021-09-04 23:47 zhaogaojian 阅读(137) 评论(0) 推荐(0) 编辑
摘要:Go LevelDB默认的Get,Put用着很不习惯,稍微封装了下,我的项目结构体比较多,所以默认按value结构体设计,项目中缓存用啥持续纠结,从map->SyncMap->leveldb->ssdb->ledisdb->redis->leveldb研究了一遍,最后还是暂时使用leveldb。 1 阅读全文
posted @ 2021-09-04 17:06 zhaogaojian 阅读(434) 评论(0) 推荐(0) 编辑
摘要:1、代码 package main import ( "encoding/json" "fmt" "net/http" "github.com/gin-gonic/gin" ) type User struct { ID int `json:"id"` Name string `json:"name 阅读全文
posted @ 2021-09-01 00:01 zhaogaojian 阅读(176) 评论(0) 推荐(0) 编辑
摘要:Go获取控制台宽度 1、代码 package main import ( "fmt" "runtime" "syscall" "unsafe" ) const ( TIOCGWINSZ = 0x5413 TIOCGWINSZ_OSX = 1074295912 ) type window struct 阅读全文
posted @ 2021-08-30 20:19 zhaogaojian 阅读(618) 评论(0) 推荐(0) 编辑
摘要:使用XShell XFtp工具传输Go可执行文件后,文件会出现错误导致运行时出现段错误问题,通过各种方法测试,发现可以这样处理 第二是必须的,这样的话,上传文件就不会有问题了。 阅读全文
posted @ 2021-08-30 14:49 zhaogaojian 阅读(146) 评论(0) 推荐(0) 编辑
摘要:linux交叉编译为arm程序 CGO_ENABLED=0 GOOS=linux GOARCH=arm go build main.go 注意了,上传到arm环境时一定要用rz命令或者先压缩再上传,如果直接用xshell sftp上传的程序会有错误Segmentation fault,原因不明,c、 阅读全文
posted @ 2021-08-30 13:30 zhaogaojian 阅读(73) 评论(0) 推荐(0) 编辑