![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go语言基础
愿把新茶换旧酒
这个作者很懒,什么都没留下…
展开
-
go操作含有中文的字符串
Go含有中文的字符串截取问题记录业务上需要做一个压缩解压的需求,解压的时候要根据文件路径创建目录进行复制,这时候就需要截取文件名上层的文件夹名称。首先我使用了go的strings.LastIndex来返回字符串特定的substr的index。会出现问题,如果路径含有中文,就失效,会返回整个字符串长度。修改代码如下:此时路径是否含有中文都不会影响返回的下标了。...原创 2021-09-23 14:34:16 · 389 阅读 · 0 评论 -
go打印日志导致服务停止
Rpc调用的时候偶尔崩溃,但是代码上应该只会打印日志,不会停止服务,可是服务却异常停止。经排查只是一个地方用错了日志打印,当时选择了log.Fatalf函数打印异常日志。此函数会导致程序异常停止服务,且不会执行defer函数。下面是源码进入Fatalf函数执行了logger.Exit方法进入这个方法发现执行了os.Exit方法从os.Exit方法可以看出来,这里是程序立即停止,且defer函数不会执行,这也是为什么一行异常日志会导致整个服务停止的原因,改成log.Printf原创 2021-06-30 16:52:57 · 395 阅读 · 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 · 1052 阅读 · 0 评论