Go语言基础 Golang Fundaments
Go语言基础 Golang Fundaments 中山大学 数据科学与计算学院 潘茂林 panml@mail.sysu.edu.cn 大纲 • Golang-设计哲学 • 基础知识学习 • Go语言的入门资源 • 本地项目工作空间组织 • 开始编程 Golang-设计哲学 我们需要什么样的语言 • 曾经 – 我们对包含大量代码的程序印象深刻。 – 我们努力在代码库中创建大型抽象。 这是一个有效的程序吗? – 是正确的吗? – 按时完成了吗? – 花了成本(时间、空间复杂度)? • 渴望成为质量、效率和简单的冠军。 • 有自己的观点。 • 重视反省和自我检讨。 Go语言应该是这样的 • 易于阅读代码 • 对遗存软件友好 • 心智模型 • 生产率与性能 • 正确性与性能 • 规则 • 方便代码评审 – 完整性 – 可读性 – 简单性 – 性能 – 微优化 实用主义的语言风格 – 面向编译器的静态类型语言 • 数据类型必须在编译阶段确定 • 语言能充分发挥编译优化技术 – 复古且简便的语言 • 集合了多种语言实用的语法表示 • 函数是一等公民(First-Class Functions) • 抛弃了面向对象 – 开放(几乎所有资源都在github上) • 语法基本特点 – C 语言的身体(语法基本类似C语言) – Python 语言的模样(部分语法如Python的编程效率)0 码力 | 21 页 | 851.30 KB | 1 年前31.每秒百万数据点 Go 应用监控系统演进
每秒百万数据点 Go 应用监控系统演进 张平 AfterShip 高级 SRE 关于 AfterShip 拥抱云原生和开源系统 目 录 监控架构概览 01 如何监控 Go 应用? 02 Metrics 系统架构演进 03 Why VictoriaMetrics so good? 04 总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 infra_http_request_total ● 业务指标 ○ 总 Tracking 查询量 ○ Tracking 创建速率 ○ 某个 ENT 客户的 Tracking 查询失败率 Metrics 系统架构演进 第三部分 2018-2020 2K+ 40K 1Mil+ 2020 年指标数据 业务指标数量 每秒写入数据点 Active Time Series 2018-2020 年架构 20200 码力 | 42 页 | 2.32 MB | 1 年前32.2.3 Go语言的抢占式调度
0 码力 | 44 页 | 7.43 MB | 1 年前3Go语言 - 一些简单的读书分享
0 码力 | 16 页 | 9.09 MB | 1 年前3用Go语言实现推送服务器
用Go语言实现推送服务器 陈叶皓 chen.yh@ctrip.com 议程 • 推送服务器介绍 • Golang特点 • 推送服务架构 • 部分代码 • 上线效果 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 什么是推送服务器 • 推送业务信息到手机端 • 始终保持连接 推送服务器要求 • 高并发 • 可靠性 • 高性能 • 支持水平扩展 • 无单点故障 无单点故障 Go语言特性 • 静态的、编译的 • 自动内存回收 • 命令式编程 • 函数可以作为值 • 面向并发 • 内置RPC支持 推送服务器要求的应对 • 高并发 – goroutine • 可靠性 – 使用Redis暂存消息 • 高性能 – 静态编译语言 • 支持水平扩展 – 使用RPC组成集群 • 无单点故障 – 使用Redis实现数据共享 Go语言的并发模型 • 事件驱动,共享线程池0 码力 | 25 页 | 260.04 KB | 1 年前3Go语言最差实践 - 李俱顺
0 码力 | 38 页 | 3.27 MB | 1 年前31.1 Go语言游戏项目应用情况汇报
0 码力 | 21 页 | 1.63 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 com/golang101/golang101 ? 获取本书最新版) 关于《Go语言101》 我觉得很难用通常的描述方式来描述本文中的内容。 所以本文将采用采访的 形式来进行描述。 你好,老貘,你是什么时候开始写这本书的? 大概在2016年七月份左右,不是很密集地使用了Go两年后,我觉得Go是一门 简单的语言,我感觉我已经精通了Go编程。 在那个时候,我在日常编程中已 经搜集了不少关于Go编程的细节。 我对Go编程中的很多细节的底层原因产生了困惑。 随着 越来越多的困惑的积攒,我觉得我对Go的领悟非常有限。 我感觉我仍然是一 个Go新手程序员。 我放弃了写那本书。 放弃?《Go语言101》现在不是已经完成了 吗? 那本曾经计划要写的书不是《Go语言101》。 放弃那本书的写作计划后,我通 过阅读很多官方Go文档和网络中的各种Go文章、关注Go官方项目的问题跟踪 列表和一些Go论坛、查看一些代码等途径, 逐渐地,我几乎消除了我所有关0 码力 | 821 页 | 956.82 KB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 com/golang101/golang101 获 取本书最新版) 关于《Go语言101》 我觉得很难用通常的描述方式来描述本文中的内容。 所以本文将采用采访的形 式来进行描述。 你好,老貘,你是什么时候开始写这本书的? 大概在2016年七月份左右,不是很密集地使用了Go两年后,我觉得Go是一门简 单的语言,我感觉我已经精通了Go编程。 在那个时候,我在日常编程中已经搜 集了不少关于Go编程的细节。 我对Go编程中的很多细节的底层原因产生了困惑。 随着越 来越多的困惑的积攒,我觉得我对Go的领悟非常有限。 我感觉我仍然是一个 Go新手程序员。 我放弃了写那本书。 放弃?《Go语言101》现在不是已经完成了吗? 那本曾经计划要写的书不是《Go语言101》。 放弃那本书的写作计划后,我通 过阅读很多官方Go文档和网络中的各种Go文章、关注Go官方项目的问题跟踪 列表和一些Go论坛、查看一些代码等途径, 逐渐地,我几乎消除了我所有关于0 码力 | 608 页 | 1.08 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 1 目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 com/golang101/golang101获 取本书最新版) 第0章:关于《Go语言101》 3 关于《Go语言101》 我觉得很难用通常的描述方式来描述本文中的内容。 所以本文将采用采访的形式来 进行描述。 你好,老貘,你是什么时候开始写这本书的? 大概在2016年七月份左右,不是很密集地使用了Go两年后,我觉得Go是一门简单的 语言,我感觉我已经精通了Go编程。 在那个时候,我在日常编程中已经搜集了不少 我对Go编程中的很多细节的底层原因产生了困惑。 随着越来越多的 困惑的积攒,我觉得我对Go的领悟非常有限。 我感觉我仍然是一个Go新手程序员。 我放弃了写那本书。 放弃?《Go语言101》现在不是已经完成了吗? 那本曾经计划要写的书不是《Go语言101》。 放弃那本书的写作计划后,我通过阅 读很多官方Go文档和网络中的各种Go文章、关注Go官方项目的问题跟踪列表和一些 Go论坛、查看一些代码等途径, 逐渐地0 码力 | 591 页 | 21.40 MB | 1 年前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6