![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
Orz___Li
一个向着高程进发的菜鸟
展开
-
GO语言中的关键字
25个关键字:程序声明:import、package程序实体声明和定义:chan、const、func、interface、map、struct、type、var程序流程控制:go、select、break、case、continue、default、defer、else、fallthrough、for、goto、if、range、return、switch比较特殊的关键字解释:原创 2018-01-25 13:40:31 · 2392 阅读 · 0 评论 -
GO语言-数组特性
与其他语言不同,GO语言数组默认是按值传递,也就是说,数组变量实际上存储的是整个数组而不像其他语言那样存储的是指向数组开头的指针。 因此赋值的时候,如果需要避免额外的内存开销(特别是数组比较大的情况下),一定要使用取地址符去赋值,而不要直接的使用赋值符号赋值!test := […]string{“a”,”b”,”c”}test2 := test //test2实际上cop原创 2018-01-25 13:43:11 · 360 阅读 · 0 评论 -
GO语言-切片特性以及容量的概念
1.切片的特点实际上指向底层模板数组的一直引用,因此创建切片的效率很好。修改切片实际会修改底层数组,修改底层数组的值会影响所有切片。例如: 2.切片底层的数据结构 切片很快的原因是因为切片最底层的数据结构里面,保存了一个指向底层数组的指针,一个int值长度,以及一个int值容量,并没有存储数组实体,因此创建和使用效率都很高。3.容量:slice1的容原创 2018-01-25 17:16:03 · 1737 阅读 · 0 评论 -
GO语言基础-if语句特性
GO语言的if语句与其他语言没有太大区别,唯一一个比较有意思的点是,在if之后可以跟一条语句。原创 2018-01-26 12:07:39 · 347 阅读 · 0 评论 -
GO语言基础-switch语句特性
GO语言的switch语句,除去和其他语言一致的基础使用方法外,还有一些特性1. 每一个case是可以直接省略break语句的,如果使用break和效果其他语言一致。2. 可以使用fallthrough语句,是之匹配后直接使用下一个case代码块的内容执行。注意:fallthrough语句必须为当前case代码块的最后一行!3.当switch后面的语句省略时,cas原创 2018-01-26 12:12:15 · 400 阅读 · 0 评论 -
GO语言基础-for语句特性,字符串循环的一个小问题
GO语言for与其他语言for循环没有太大差别,只是通过条件的不同(range表达式)融合了其它语言的while/foreach等循环。string底层实际是一个[]rune的切片,因此也可以直接range循环。对于string类型来说,如果你将它转换成一个[]byte的切片,那么如果遇到中文字符,他实际的循环出的index的值会比你预期的大,因为一个中文字符占3个字节。对于str原创 2018-01-26 15:03:52 · 463 阅读 · 0 评论 -
GO语言基础-refer语句特性
GO语言独有的refer,后面可以跟一个简单语句或者跟一个匿名函数。refer必须处于一个方法或者函数中。1. 简单理解:refer一定会在一个函数和方法全部执行完之后才会执行。可以理解成析构函数。2.refer中的语句,在编译过程中就会生成语句,并将语句插入一个栈结构的队列中,遵循先入后出的原则。因此,如果defer运用在循环中,一定要注意这一点。3.- 如果采用匿原创 2018-01-26 15:35:55 · 1255 阅读 · 1 评论 -
GO语言基础-使用切片需要注意的点
因为切片实际是一个指向底层数组的指针的特性。使用切片的append函数的时候需要注意一些容易引起问题的地方。切片原理可以查看之前是文章:http://blog.csdn.net/ligongxiang123/article/details/79164393append方法,用于给切片增加长度,如果长度超过当前切片的容量那么底层会新建一个新长度的底层数组,并将切片指向新的底层数组,并返回。如原创 2018-01-29 18:17:44 · 490 阅读 · 0 评论 -
Linux、Mac时间戳转换小工具
工作中经常会和时间戳打交道,每当这个时候,都需要打开网页,去格式化或者反格式化某一个时间戳。因此用go写了一个小工具,命令行即可直接查看结果。github地址:https://github.com/Orz-Li/timestampHelper使用说明下载编译好的release程序可以将程序移动至/bin或/usr/bin下timehelper 时间戳或格式化日期字符串 即可时间戳...原创 2019-01-08 19:02:45 · 1666 阅读 · 0 评论