go开发
愿把新茶换旧酒
这个作者很懒,什么都没留下…
展开
-
go操作含有中文的字符串
Go含有中文的字符串截取问题记录业务上需要做一个压缩解压的需求,解压的时候要根据文件路径创建目录进行复制,这时候就需要截取文件名上层的文件夹名称。首先我使用了go的strings.LastIndex来返回字符串特定的substr的index。会出现问题,如果路径含有中文,就失效,会返回整个字符串长度。修改代码如下:此时路径是否含有中文都不会影响返回的下标了。...原创 2021-09-23 14:34:16 · 401 阅读 · 0 评论 -
Go获取windows已经安装的软件详情
Go获取windows已经安装的软件详情,包含图标,全名,版本号,发布者等。使用golang.org/x/sys/windows/registry包。软件信息都存放在注册表中,注册表中HKEY_LOCAL_MACHINE下面,如果是64位Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall,如果是32位则Software\Microsoft\Windows\CurrentVersion\Uninstall路径下面,这两个路径下原创 2021-07-01 10:40:55 · 1790 阅读 · 1 评论 -
go打印日志导致服务停止
Rpc调用的时候偶尔崩溃,但是代码上应该只会打印日志,不会停止服务,可是服务却异常停止。经排查只是一个地方用错了日志打印,当时选择了log.Fatalf函数打印异常日志。此函数会导致程序异常停止服务,且不会执行defer函数。下面是源码进入Fatalf函数执行了logger.Exit方法进入这个方法发现执行了os.Exit方法从os.Exit方法可以看出来,这里是程序立即停止,且defer函数不会执行,这也是为什么一行异常日志会导致整个服务停止的原因,改成log.Printf原创 2021-06-30 16:52:57 · 449 阅读 · 0 评论 -
Go语言基础语法入门及其示例
一、go简介1.Go语言(或Golang)起源于2007年,并在2009年正式对外发布。Go是非常年轻的一门语言,它的主要目标是“兼具Python等动态语言的开发速度和C/C++等编译型语言的性能与安全性”。2.Go语言是一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。3.Go语言没有类和继承的概念,所以它和Java或C++看起来并不相同。但是它通过接口(interface)的概念来实现多态性。Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没...原创 2021-06-25 16:48:33 · 1110 阅读 · 0 评论 -
go中如何打开windows应用程序包(exe,msi格式)
go项目中如何启动windows应用安装包(msi,exe格式)安装软件我总结出有两种方法可以做到让windows自安装应用程序1:使用cmd命令来做Cmd命令需要区分安装exe和msi软件,命令不同,命令参数请参考https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec代码如下其中注释掉的cmd.SysProcAttr = &syscall.SysP原创 2021-06-25 16:41:14 · 1801 阅读 · 0 评论