Go
文章平均质量分 54
进阶的工程师
菜鸡程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go的method和interface
在学习Go语言的过程中,基本的语法以及slice和map等等虽然略有不同,但是稍微适应下,还是比较好上手,这里针对几个特别的地方总结下。第一篇就是Go的方法和接口。 方法 Go语言不存在类的概念,所以方法与函数的区别就是方法存在接收者。接受者在 func 关键字和 方法名之间,下面就是两个例子。 type Vertex struct { X, Y floa...原创 2018-08-14 00:22:03 · 238 阅读 · 0 评论 -
golang中Defer、Panic、Recover的用法
因为golang没有try……catch的用法,但是可以通过defer + recover来实现,但是要先明确defer与return之间的执行顺序。 defer 先看defer的定义(参考tour go)。 defer关键字可以推迟它所修饰的语句的执行,知道被它包围的代码执行完成后,才执行,一般用于执行一些清理工作(资源释放、关闭连接等等)来简化代码。可以看下面一段代码,代码打开两个文件并...原创 2018-10-24 01:21:31 · 663 阅读 · 1 评论 -
通过rand把数组顺序随机打乱
这周需求涉及到要把一个数组的内部顺序打乱,参考了下网上的资料,其实很简单,就是把数组元素随机交换下就OK了,下面附上go实现的代码, func Random(arr []string) { if len(arr) <= 0 { return } rand.Seed(time.Now().Unix()) for i := len(arr) - 1; i >= 0; i--...原创 2018-11-04 00:09:09 · 1975 阅读 · 0 评论 -
go Map实战
map是最常见的数据结构之一。不同哈希表的实现也提供了不同特性,但是总体来说它们都提供快速查询、添加和删除等功能。Go 提供了一个内置的map,基于哈希表来实现。 声明和初始化 go里面的map定义如下, map[KeyType]ValueType KeyType可以是任何可以进行比较的数据类型,ValueType则可以是任何数据类型,包括map。下面定义了一个KeyType为strin...原创 2018-11-07 01:06:46 · 239 阅读 · 0 评论 -
Golang占位符大全
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 ...原创 2018-11-12 00:09:57 · 1504 阅读 · 0 评论 -
Effective Go
Switch type switch 通过type switch可以来动态发现interface的类型。下面的type switch使用类型断言,关于switch以及类型判断,可以借鉴下下面的代码。 var t interface{} t = functionOfSomeType() switch t := t.(type) { default: fmt.Printf("unexp...原创 2018-11-12 01:05:05 · 464 阅读 · 0 评论 -
Go可变参数遇到的坑
可变参数 Go语言支持可变参数,给函数传参带来了很大的便利,简化了slice类型参数传入。代码示例, func main(){ printFunc("name", "age") printFunc([]string{"name", "age"}...) } func printFunc(args ...string){ fmt.Printf("args=%v, type=%T\n", ar...原创 2019-10-03 19:28:41 · 572 阅读 · 0 评论
分享