Go
Ghost_02
在下是一名苦逼的泥瓦工
展开
-
Go 的并发 Concurrency
Go 的并发 很多人都是冲着Go的高并发来学习Go的。而gorouting只是由官方实现的一个超级线程池而已,每个实例4-5KB的栈内存占用和由于实现机制而大幅减少创建和销毁的开销。这就是Go高并发的原因。 Go中并发程序依靠的是两个:goroutine和channel。 一个goroutine对新手来说可看作一个线程,但是他又不是一个原创 2017-08-09 21:58:23 · 1530 阅读 · 0 评论 -
Go 接口interface 的用法
Go 的接口 go 的接口在go的编程里面用的十分频繁,尤其是空接口的使用,因为有了接口,才使得Go语言变得异常的强大。 先来一波慨念吧:(红色是比较重要的)1.接口是一个或多个方法签名的集合2.只要某个类型拥有该接口的所有方法签名,就算实现了该接口,无需显示声明实现了哪个接口,这称之为 Structural Typing3.接口只有方法声明,没有实现,没有数据结构字段原创 2017-08-12 19:51:49 · 3762 阅读 · 0 评论 -
Go 的控制语句
Go 编程基础 一.判断语句if条件表达式没有括号 支持一个初始化表达式左大括号必须和条件语句或者else在同一行支持单行模式初始化语句中的变量为block级别,同时隐藏外部的变量名以下是演示package mainimport "fmt"func main() { var num int num = 0 if num:=1;num>0 { fmt原创 2017-10-01 22:47:12 · 273 阅读 · 0 评论 -
Go 的反射
Go 的反射reflection1.反射可以大大提升程序的灵活性,使得interface{}有更大的发挥余地2.反射使用TypeOf和ValueOf函数从接口中获得目标对象的信息3.反射会将匿名字段作为独立的字段4.想要利用反射修改对象的状态,前提是interface.data是settable,即pointer-interface5.通过反射可以动态的调用方法原创 2017-10-02 16:38:59 · 426 阅读 · 0 评论 -
Go 的一些坑
Go坑一:首先介绍一下make函数:Go语言提供的内置函数make()可以用于灵活地创建数组切片。创建一个初始元素个数为5的数组切片,元素初始值为0: mySlice1 := make([]int, 5) 创建一个初始元素个数为5的数组切片,元素初始值为0,并预留10个元素的存储空间: mySlice2 := make([]int, 5, 10) m原创 2017-10-02 17:53:47 · 479 阅读 · 1 评论