Go语言 - 一些简单的读书分享⼀些简单的读书分享 By Xargin 我出版的书 • 我是作者之⼀ • 这本书在写的时候国内的 Go 语⾔书很少 • 现在销量约 2w+ • 直到现在,CGO 和 plan9 汇 编的内容依然是独⼀份 ⽬ 录 为什么要读书 01 带着问题读书 02 怎么样读书 03 应该读哪些书 04 为什么要读书 第⼀部分 • 完整的知识和上下⽂ • 帮助⾃⼰建⽴领域内的知识体系0 码力 | 16 页 | 9.09 MB | 1 年前3
Go持续集成简单 激情 速度快 聚焦 极致 可信赖 • 崔英杰 Go的持续集成 实践分享 简单 激情 速度快 聚焦 极致 可信赖 什么是持续集成 持续集成 是一种软件开发实践。在持续集 成中,团队成员频繁集成他们的工作成果, 一般每人每天至少集成一次,也可以多次。 每次集成会经过自动构建(包括自动测试) 的 检验,以尽快发现集成错误。 — Martin Fowler 简单 激情 速度快 聚焦 极致 降低风险 3. 持续发布 4. 减少代码审核时间 5. 减少对个体依赖 简单 激情 速度快 聚焦 极致 可信赖 石器时代 简单 激情 速度快 聚焦 极致 可信赖 分享惨案经历 1. 无单元测试,手工集成测试 2. 测试用例300多个,需要一个星期 3. 面对业务压力,规则形同虚设 4. 深夜事故 简单 激情 速度快 聚焦 极致 可信赖 原有开发体系的问题 1. 迭代周期漫长 质量缺乏保障 3. 系统可维护性差 4. 开发过程透明度差 简单 激情 速度快 聚焦 极致 可信赖 青铜时代 简单 激情 速度快 聚焦 极致 可信赖 迈出第一步 1. 重构 2. 添加单元测试 3. 自动化测试系统 简单 激情 速度快 聚焦 极致 可信赖 青铜时代 通知测试 Email测试报告 简单 激情 速度快 聚焦 极致 可信赖 还有问题 1. 自动化测试不能并行0 码力 | 39 页 | 10.74 MB | 1 年前3
基于Go的大数据平台-党合萱七⽜牛云—党合萱 什什么是Pandora 简单 · 可信赖 Pandora架构图 Export Service API / Portal / 消息 消息 计算 计算 消息 导出任务 导出任务 导出任务 导出任务 导出任务 计算 消息 对象存储服务 HTTP MongoDB 时序数据库 ⽇日志检索服务 XSpark Report Studio 简单 · 可信赖 内容提要 • 系统设计分析与架构 ⾼高可⽤用与⽔水平扩展 • ⾃自动化运维 • Go的应⽤用 简单 · 可信赖 系统设计分析与架构 构建系统的挑战 export service系统全貌 简单 · 可信赖 多种上下游适配 简单 · 可信赖 业务架构 简单 · 可信赖 导出模型 简单 · 可信赖 ⾼高吞吐/低延迟问题探究 简单 · 可信赖 困难 简单 · 可信赖 数据预取 • export server在向下 1s,有效减少对底层存储的请求数量量。 简单 · 可信赖 数据推送协议优化 • 优化export service与logdb之间的数据推送协议 简单 · 可信赖 资源使⽤用优化 • kodo导出为了了达到节省存储空间的⽬目的,在导出前的converter 这⼀一步使⽤用了了parquet压缩,可以有8⽐比1的压缩⽐比。效果很好, 但缺点也同样明显。 简单 · 可信赖 压⼒力力感知与退避算法0 码力 | 34 页 | 1.26 MB | 1 年前3
Go Web编程Go基础 2.3. 流程和函数 2.4. struct 2.5. 面向对象 2.6. interface 2.7. 并发 2.8. 小结 3.Web基础 3.1 web工作方式 3.2 Go搭建一个简单的web服务 3.3 Go如何使得web工作 3.4 Go的http包详解 3.5 小结 4.表单 4.1 处理表单的输入 4.2 验证表单的输入 4.3 预防跨站脚本 4.4 防止多次递交表单 |beedb.a go get本质上可以理解为首先第一步是通过源码工具clone代码到src下面,然后执行go install 在代码中如何使用远程包,很简单的就是和使用本地包一样,只要在开头import相应的路径就可以 import "github.com/astaxie/beedb" 程序的整体结构 程序的整体结构 通过上面建立的我本地的mygo的目录结构如下所示 Go语言基础 38 2 Go语言基础 2 Go语言基础 Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一 个,这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样: break default func interface select case defer go0 码力 | 295 页 | 5.91 MB | 1 年前3
Go 入门指南(The way to Go)新旧模型对比:任务和worker 14.8 惰性生成器的实现 14.9 实现 Futures 模式 第 15 章 网络,模板和网页应用 15.1 tcp服务器 15.2 一个简单的网页服务器 15.3 访问并读取页面 15.4 写一个简单的网页应用 第 16章 常见的陷阱与错误 16.1 误用短声明导致变量覆盖 16.2 误用字符串 16.3 发生错误时使用defer关闭一个文件 16.4 何时使用new()和make() 用更少的代码,更短的编译时间,创建运行更快的程序,享受更多的乐 趣 前言 - 11 - 本文档使用 书栈(BookStack.CN) 构建 (第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章),控制结构 (第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语言的函数式和面 向对象编程进行透彻的讲解,包括如何使用 的并发语言)有更低的门槛,真可谓是 21 世纪的 C 语言! 作为一门系统编程语言,你不应该为 Go 语言的大多数代码示例和练习都和控制台有着密不可分的关系而感到惊奇, 因为提供平台依赖性的 GUI(用户界面)框架并不是一个简单的任务。有许多由第三方发起的 GUI 框架项目正在如 火如荼地进行中,或许我们会在不久的将来看到一些可用的 Go 语言 GUI 框架。不过现阶段的 Go 语言已经提供了 大量有关 Web 方面的功能,我们可以通过它强大的0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)在本书的第一部分,我们将会讨论 Go 语言的起源(第 1 章),以及如何安装 Go 语言(第 2 章)和开发 环境(第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 的并发语言)有更低的门槛,真可谓是 21 世纪的 C 语言! 作为一门系统编程语言,你不应该为 Go 语言的大多数代码示例和练习都和控制台有着密不可分的关系而 感到惊奇,因为提供平台依赖性的 GUI(用户界面)框架并不是一个简单的任务。有许多由第三方发起的 GUI 框架项目正在如火如荼地进行中,或许我们会在不久的将来看到一些可用的 Go 语言 GUI 框架。不过 现阶段的 Go 语言已经提供了大量有关 Web 方面的功能,我们可以通过它强大的 作为前端,并且使用 Go 语言自带的工具 godoc 运行在 Google App Engine 上来作为 Web 服务器提供文本内容。在官网的首页有一个功能叫做 Go Playground,是一个 Go 代码的简单编辑器的沙盒,它可以在没有安装 Go 语言的情况下在你的浏览 器中编译并运行 Go,它提供了一些示例,其中包括国际惯例 “Hello, World!”。 更多的信息详见 github.com/golang/go,Go0 码力 | 380 页 | 2.97 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 第44章:关于Go值的内存布局 第45章:一些可能的内存泄漏场景 一些总结 第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 我觉得很难用通常的描述方式来描述本文中的内容。 所以本文将采用采访的形式来 进行描述。 你好,老貘,你是什么时候开始写这本书的? 大概在2016年七月份左右,不是很密集地使用了Go两年后,我觉得Go是一门简单的 语言,我感觉我已经精通了Go编程。 在那个时候,我在日常编程中已经搜集了不少 关于Go编程的细节。 我觉得我可以将这些细节写成一本书。 我觉得这应该是一件 容易的事。 但是我发现我错了。我太过于自信了。0 码力 | 591 页 | 21.40 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 第44章:关于Go值的内存布局 第45章:一些可能的内存泄漏场景 一些总结 第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 我觉得很难用通常的描述方式来描述本文中的内容。 所以本文将采用采访的 形式来进行描述。 你好,老貘,你是什么时候开始写这本书的? 大概在2016年七月份左右,不是很密集地使用了Go两年后,我觉得Go是一门 简单的语言,我感觉我已经精通了Go编程。 在那个时候,我在日常编程中已 经搜集了不少关于Go编程的细节。 我觉得我可以将这些细节写成一本书。 我 觉得这应该是一件容易的事。 但是我发现我错了。我太过于自信了。0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 第44章:关于Go值的内存布局 第45章:一些可能的内存泄漏场景 一些总结 第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使 用Go。 持有这种态度阻止了我更深刻地理解Go。 Go是一门特性丰富的语言。它的语法集虽然不大,但我们也不能说它很小。 Go中的一些语法和语义设计很简单明了,但也有一些设计略微反直觉,甚至自 相矛盾。 Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的0 码力 | 608 页 | 1.08 MB | 1 年前3
Go基础语法宝典关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面: 定义多个变量 定义变量并初始化值 同时初始化多个变量 是不是觉得上面这样的定义有点繁琐?有一种写法可以让它变得简单一点。可以直接忽略类型声明,那 么上面的代码变成这样了: 觉得上面的还是有些繁琐,继续简化: 现在是不是看上去非常简洁了? := 这个符号直接取代了 var 和 type ,这种形式叫做简短声明。不过它有 main import "fmt" //简单的一个函数,实现了参数+1的操作 func add1(a int) int { a = a+1 // 改变了a的值 return a //返回一个新值 } 虽然调用了 add1 函数,并且在 add1 中执行 a = a+1 操作,但是上面例子中 x 变量的值没有发生变化 理由很简单:因为当调用 add1 的时候, add1 x1) // 应该输出"x+1 = 4" fmt.Println("x = ", x) // 应该输出"x = 3" } package main import "fmt" //简单的一个函数,实现了参数+1的操作 func add1(a *int) int { // 请注意, *a = *a+1 // 修改了a的值 return *a // 返回新值 }0 码力 | 47 页 | 1020.34 KB | 1 年前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













