随笔分类 -  Go

摘要:1、继承后增加新字段 type Car struct { weight int name string } type Bike struct { Car lunzi int } 不过有个问题是vscode在使用Bike实例对象时,代码自动完成功能会显示一个Car,强迫症不能忍。 2、如果不增加新字段 阅读全文
posted @ 2021-08-27 18:39 zhaogaojian 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Go中的日期格式好奇怪,真的就像玩具一样,不过功能也挺强大 package main import ( "fmt" "time" ) func main() { currentTime := time.Now() fmt.Println("Current Time in String: ", cur 阅读全文
posted @ 2021-08-27 00:17 zhaogaojian 阅读(578) 评论(0) 推荐(0) 编辑
摘要:程序代码实现了一部分才想起是个多任务项目,需要将之前的map换成线程安全的 1、定义 var testSyncMap sync.Map 2、判断是否存在Key if value, ok := valueMap.Load(key); ok { } 3、存储指定Key,value testSyncMap 阅读全文
posted @ 2021-08-25 23:12 zhaogaojian 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1、声明初始化Map var testMap map[string]string testMap = make(map[string]string) 2、判断Map是否有指定键 if _, ok := testMap[key]; ok { } 3、新添或更新指定键元素 testMap[key] = 阅读全文
posted @ 2021-08-25 22:23 zhaogaojian 阅读(39) 评论(0) 推荐(0) 编辑
摘要://#region 主题相关 func test() ..... //#endregion 如上所示,默认#region默认只会折叠第一行,解决办法,修改为Indentation即可 阅读全文
posted @ 2021-08-25 21:45 zhaogaojian 阅读(844) 评论(0) 推荐(0) 编辑
摘要:在使用Go在Ubuntu子系统环境下调试时提示如题错误,最终没有完全找到原因,尝试卸载子系统,又从WSL1升到WSL2问题没再出现。 阅读全文
posted @ 2021-08-24 22:02 zhaogaojian 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1、半年不用正则,又忘记差不多了,调试工具都忘记咋用了,从新记录一下 匹配正则使用方法 2、Go使用匹配正则 //获取Topic类型 func GetTopicType(topic string, matchstr string) (bool, string) { regexpStr := rege 阅读全文
posted @ 2021-08-24 18:40 zhaogaojian 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1、在虚拟机上卸载安装几个不同版本Go之后,提示使用GoLand编译时提示 compile: version “go1.13.x“ does not match go tool version “go1.16.5“ 但在使用VsCode和go env时没有问题。 2、解决办法 将/usr/bin目录 阅读全文
posted @ 2021-08-23 18:59 zhaogaojian 阅读(1397) 评论(0) 推荐(0) 编辑
摘要:Go语言进入项目实战阶段,有了更多的需要处理的问题。 Go版本:1.16.5,从建一个空白项目开始 1、创建一个项目,新建一个package文件,文件名module1.go,只有一个方法init 2、在项目目录下执行 go mod init test 3、新建一个main.go文件,内容如下 pac 阅读全文
posted @ 2021-08-23 18:37 zhaogaojian 阅读(146) 评论(0) 推荐(0) 编辑
摘要:方式1: package main import ( "fmt" "net/http" "net/url" ) func main() { data := make(url.Values) data["key"] = []string{"this is key"} data["value"] = [ 阅读全文
posted @ 2021-08-22 12:30 zhaogaojian 阅读(104) 评论(0) 推荐(0) 编辑
摘要:UNIX域套接字(UDS):UNIX Domain Socket UNIX域socket实现本地进程间通信,需要一个进程作为服务器端,一个进程作为客户端。与网络编程最不一样的地方是服务器端bind的时候用的是sockaddr_un结构,客户端connect的时候用的也是sockaddr_un结构,而 阅读全文
posted @ 2021-08-20 15:45 zhaogaojian 阅读(496) 评论(0) 推荐(0) 编辑
摘要:1、linux下创建sqlite表 sudo apt-get install sqlite sudo apt-get install libsqlite3-dev 2、执行sqlite3 test.db,然后输入建表语句,注意版本,如果sqlite test.db则创建的是2.0的数据库,驱动不一致 阅读全文
posted @ 2021-08-20 11:30 zhaogaojian 阅读(497) 评论(0) 推荐(0) 编辑
摘要:1、Edgex中使用了Consul机制,所以理解下consul基础使用方法 参考:https://www.cnblogs.com/chaselogs/p/11462954.html 这是Edgex创建的Connsul 2c8460869d58 consul:1.9.5 "docker-entrypo 阅读全文
posted @ 2021-08-20 10:35 zhaogaojian 阅读(215) 评论(0) 推荐(0) 编辑
摘要:安装redis测试服务器 1、代码 package main import ( "fmt" "gopkg.in/redis.v4" ) func main() { client := createClient() defer client.Close() err := client.Set("nam 阅读全文
posted @ 2021-08-19 23:12 zhaogaojian 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1、EdgeX中有类似的代码 这是一个CAS操作,不过比较复杂的 2、以下内容来自https://zhuanlan.zhihu.com/p/56733484 package main import ( "fmt" "sync" "sync/atomic" ) var ( counter int32 阅读全文
posted @ 2021-08-13 17:10 zhaogaojian 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1、EdgeX中的代码片段 2、defer是什么 在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。感觉和面向对象界面编程中的OnDestor 阅读全文
posted @ 2021-08-13 16:30 zhaogaojian 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1、代码 package main import "fmt" type Get func(serviceName string) interface{} func get1(serviceName string) interface{} { return serviceName } var a = 阅读全文
posted @ 2021-08-13 13:17 zhaogaojian 阅读(142) 评论(0) 推荐(0) 编辑
摘要:EdgeX初始化代码这块看起来比较迷糊,写一个测试代码验证下 1、测试代码 package main import "fmt" type Get func(serviceName string) interface{} func get1(serviceName string) interface{ 阅读全文
posted @ 2021-08-13 12:30 zhaogaojian 阅读(178) 评论(0) 推荐(0) 编辑
摘要:1、代码 package main import ( "fmt" "reflect" ) type Test struct { a int b int } // TypeInstanceToName converts an instance of a type to a unique name. f 阅读全文
posted @ 2021-08-13 11:00 zhaogaojian 阅读(51) 评论(0) 推荐(0) 编辑
摘要:读取流程如下列几张图 除了constant里有一个指定的configruation.poml外,这里有读取配置文件代码 github.com/edgexfoundry/go-mod-bootstrap/v2@v2.0.0/bootstrap/config/config.go 下面是解析配置文件测试 阅读全文
posted @ 2021-08-12 22:34 zhaogaojian 阅读(361) 评论(0) 推荐(0) 编辑