目录 搜索 Go 语言的起源,发展与普及起源与发展语言的主要特性与发展的环境和影响因素安装与运行环境平台与架构Go 环境变量在 Linux 上安装 Go在 Mac OS X 上安装 Go在 Windows 上安装 Go安装目录清单Go 运行时(runtime)Go 解释器编辑器、集成开发环境与其它工具Go 开发环境的基本要求编辑器和集成开发环境调试器构建并运行 Go 程序格式化代码生成代码文档其它工具Go 性能说明与其它语言进行交互基本结构和基本数据类型文件名、关键字与标识符Go 程序的基本结构和要素常量变量基本类型和运算符字符串strings 和 strconv 包时间和日期指针控制结构if-else 结构测试多返回值函数的错误switch 结构for 结构Break 与 continue标签与 goto函数(function)介绍函数参数与返回值传递变长参数defer 和追踪内置函数递归函数将函数作为参数闭包应用闭包:将函数作为返回值使用闭包调试计算函数执行时间通过内存缓存来提升性能数组与切片声明和初始化切片For-range 结构切片重组(reslice)切片的复制与追加字符串、数组和切片的应用Map声明、初始化和 make测试键值对是否存在及删除元素for-range 的配套用法map 类型的切片map 的排序将 map 的键值对调包(package)标准库概述regexp 包锁和 sync 包精密计算和 big 包自定义包和可见性为自定义包使用 godoc使用 go install 安装自定义包自定义包的目录结构、go install 和 go test过 Git 打包和安装Go 的外部包和项目在 Go 程序中使用外部库结构(struct)与方法(method)结构体定义使用工厂方法创建结构体实例使用自定义包中的结构体带标签的结构体匿名字段和内嵌结构体方法类型的 String() 方法和格式化描述符垃圾回收和 SetFinalizer接口(interface)与反射(reflection)接口是什么接口嵌套接口类型断言:如何检测和转换接口变量的类型类型判断:type-switch测试一个值是否实现了某个接口使用方法集与接口第一个例子:使用 Sorter 接口排序第二个例子:读和写空接口反射包Printf 和反射接口与动态类型总结:Go 中的面向对象结构体、集合和高阶函数读写数据读取用户的输入文件读写文件拷贝从命令行读取参数用 buffer 读取文件用切片读写文件用 defer 关闭文件使用接口的实际例子:fmt.FprintfJSON 数据格式XML 数据格式用 Gob 传输数据Go 中的密码学错误处理与测试错误处理运行时异常和 panic从 panic 中恢复(Recover)自定义包中的错误处理和 panicking一种用闭包处理错误的模式启动外部命令和程序Go 中的单元测试和基准测试测试的具体例子用(测试数据)表驱动测试性能调试:分析并优化 Go 程序协程(goroutine)与通道(channel)并发、并行和协程协程间的信道协程的同步:关闭通道-测试阻塞的通道使用 select 切换协程通道、超时和计时器(Ticker)协程和恢复(recover)新旧模型对比:任务和worker惰性生成器的实现实现 Futures 模式复用限制同时处理的请求数链式协程在多核心上并行计算并行化大量数据的计算漏桶算法对Go协程进行基准测试使用通道并发访问对象网络、模板与网页应用tcp 服务器一个简单的 web 服务器访问并读取页面数据写一个简单的网页应用确保网页应用健壮用模板编写网页应用探索 template 包精巧的多功能网页服务器用 rpc 实现远程过程调用基于网络的通道 netchan与 websocket 通信用 smtp 发送邮件常见的陷阱与错误误用短声明导致变量覆盖误用字符串发生错误时使用 defer 关闭一个文件何时使用 new() 和 make()不需要将一个指向切片的指针传递给函数使用指针指向接口类型使用值类型时误用指针误用协程和通道闭包和协程的使用糟糕的错误处理模式逗号 ok 模式defer 模式可见性模式运算符模式和接口出于性能考虑的实用代码片段字符串数组和切片映射结构体接口函数文件协程(goroutine)与通道(channel)网络和网页应用其他出于性能考虑的最佳实践和建议构建一个完整的应用程序简介短网址项目简介数据结构用户界面:web 服务端持久化存储:gob用协程优化性能以 json 格式存储多服务器处理架构使用代理缓存总结和增强 暂无相关搜索结果! 本文档使用 topgoer 发布 defer 模式