随笔分类 - Golang系列
摘要:new与make之间有什么不同? new 分配内存,make 初始化切片、映射和信道类型 如何获得方法的动态分配? 拥有动态分配方法的唯一途径就是通过接口。结构或其它混合类型的方法总是静态地确定 如何编写单元测试? 在相同的目录中创建一个以 结尾的新文件作为你的包源文件。 在该文件中,加入 并编写以
阅读全文
摘要:“类型”或“= 表达式”两个部分可以省略其中的一个。 如果省略的是类型信息,将根据初始化表达式来推导变量的类型信息。 如果初始化表达式被省略,将用零值初始化该变量。 数值类型变量对应的零值是0 布尔类型变量对应的零值是false 字符串类型对应的零值是空字符串(不是nil) 接口或引用类型(包括sl
阅读全文
摘要:Rob Pike 之前一直在研究Plan9操作系统,全能型程序员,从操作系统写到编译器,又从文本编辑器写到了 UI 界面,业余天文学家 1980 年的奥运会射箭项目夺得了银牌 写过两本书分别是《Unix 编程环境》和《程序编程实践》 他说过一句话让我等数据结构学的很一般的后辈特别受鼓舞 —— 只要掌
阅读全文
摘要:package builtin builtin 包为Go的预声明标识符提供了文档 内置常量 false true iota nil 内置类型 值类型 19个基本类型 | | | | | bool 布尔类型 | | string 8位byte序列构成的字符串,约定但不必须是utf 8编码的文本。字符串
阅读全文
摘要:init函数和main函数的区别 init函数 go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性。 有下面的特征: 1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 2 每个包可以拥有多个init函数 3 包的每个源文件也可以拥有多个i
阅读全文
摘要:```text 用 字符 go除了`之外任何特殊字符都可以转义 反引号内不能在包含反引号,因为反引号不可以转义 解决方法:使用字符串相加 go package main import ( "fmt" ) func main() { str := + " `world" fmt.Println(str
阅读全文
摘要:相比其它语言的关键字 Go比较简洁只有25个关键字 C 44 C++ 84 Go 25 | 关键字 | 作用 | | | | | break | 中断本层循环,直接退出本层循环 | | continue | 中断本次循环,进入下一次循环 | | goto | 转向指定代码模块 | | switch
阅读全文
摘要:前言 这个系列重要介绍下面知识点 掌握Go语言基础语法和特性 学习性能调优方法并编写高性能代码 轻松搞定编程中的常见并发任务 设计并实现可扩展架构和高可用系统
阅读全文
摘要:使用buffered channel实现对象池 sync.Pool对象缓存 sync.Pool对象获取 1 尝试从私有对象获取 2 私有对象不存在, 尝试从当前Processor的共享池获取 3 如果当前Processor共享池也是空的,那么就尝试去其它Processor的共享池获取 4 如果所有子
阅读全文
摘要:package 1 基本复用模块单元 以首字母大写来表明可被包外代码访问 2 代码的package可以和所在的目录不一致 3 同一目录里的Go代码的package要保持一致 package 1 通过go get来获取远程依赖 go get u 强制从网络更新远程依赖 2 注意代码在GitHub上的组
阅读全文
摘要:字符串 与其它主要编程语言的差异 string是数据类型,不是引用或指针类型 string是只读的byte slice,len函数可以是它包含的byte数 string的byte数组可以存放任何数据 Unicode UTF8 Unicode是一种字符集(code point) UTF8是unicod
阅读全文
摘要:Go的应用: Docker Codis Glow类似于Hadoop Cockroach beego ....... Go的中国社区 "Golang中国" "Go语言中文网" Go语言环境搭建 安装方式: Go源码安装,Go标准包安装,第三方工具安装,eg: GVM 编辑器 LiteIDE: Go语言
阅读全文