文章分类 - 007_go语法
摘要:make(chan int)和make(chan int, 1)的区别就是unbuffered和buffered的区别,下面进行详细解释: 如果改成 var c = make(chan int, 1) a 可能是 "hello world" 也可能是空,运行了好多次基本打印的都是空 官方文档解释的区
阅读全文
摘要:一、go获取程序参数及指针地址示例 package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args); if len(os.Args) > 1{ fmt.Println("Hi", os.Args[1]) }else { fm
阅读全文
摘要:一个🌰就会明白 一、 二、 Reference: http://www.runoob.com/go/go-pointers.html
阅读全文
摘要:一、通过反射 Reference:https://ieevee.com/tech/2017/07/29/go-type.html
阅读全文
摘要:一、 (1)init函数 (2)main函数 (3)执行顺序如下图:
阅读全文
摘要:一、 【使用 select 实现 timeout 机制】 如下: 输出=>timeout! 当超时时间到的时候,case2 会操作成功。 所以 select 语句则会退出。 而不是一直阻塞在 ch 的读取操作上。 从而实现了对 ch 读取操作的超时设置。 下面这个更有意思一点。 当 select 语
阅读全文
摘要:关键字 defer 允许我们推迟到函数返回之前(或任意位置执行 return 语句之后)一刻才执行某个语句或函数(为什么要在返回之后才执行这些语句?因为 return 语句同样可以包含一些操作,而不是单纯地返回某个值)。 关键字 defer 的用法类似于面向对象编程语言 Java 和 C# 的 fi
阅读全文
摘要:一、struct结构体注释 输出: false 0 二、其他注释待填充。
阅读全文
摘要:请看demo,哈哈 一、 参考:https://golang.org/ref/spec#Passing_arguments_to_..._parameters
阅读全文