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