Golang 101(Go语言101 中文版) v1.21.a
顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 片,接口和通道。 Go编译器和运行时在 实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编程带来了许多 便利,使我们不用从头实现这些类型。 但另一方面,这些封装隐藏了这些类型的内 部结构, 从而对我们更深入地理解这些类型的值的行为带来了一些障碍。 许多官方和非官方的Go教程都非常简单。 这些教程只涵盖了一般典型用例,而忽略 了许多细节。 这对鼓励新手Go程序员学习和使用Go非常有好处, 着重于基本概念和术语的解释。如果不理解或者不熟悉这些基本概念和术语, 就很难完全理解Go中的很多规则和高层次的概念。 2. 使用了值部(value part)这个术语并单独用一篇文章来解释值部。 这篇文 章揭示了某些类型的底层结构,从而使得Go程序员可以更深入地理解这些类型 的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑非常有 帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对于0 码力 | 591 页 | 21.40 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 Go提供了几种基本但非必需的类型,比如切片,接口和通道。 Go编译器和运 行时在实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编程 带来了许多便利,使我们不用从头实现这些类型。 但另一方面,这些封装隐藏 了这些类型的内部结构, 从而对我们更深入地理解这些类型的值的行为带来了 一些障碍。 许多官方和非官方的Go教程都非常简单。 这些教程只涵盖了一般典型用例,而 忽略了许多细节。 这对鼓励新手Go程序员学习和使用Go非常有好处, 着重于基本概念和术语的解释。如果不理解或者不熟悉这些基本概念和术 语,就很难完全理解Go中的很多规则和高层次的概念。 2. 使用了值部(value part)这个术语并单独用一篇文章来解释值部。 这篇文 章揭示了某些类型的底层结构,从而使得Go程序员可以更深入地理解这些 类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑 非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对0 码力 | 608 页 | 1.08 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 Go提供了几种基本但非必需的类型,比如切片,接口和通道。 Go编译器和运 行时在实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编 程带来了许多便利,使我们不用从头实现这些类型。 但另一方面,这些封装 隐藏了这些类型的内部结构, 从而对我们更深入地理解这些类型的值的行为 带来了一些障碍。 许多官方和非官方的Go教程都非常简单。 这些教程只涵盖了一般典型用例, 而忽略了许多细节。 这对鼓励新手Go程序员学习和使用Go非常有好处, 着重于基本概念和术语的解释。如果不理解或者不熟悉这些基本概念和术 语,就很难完全理解Go中的很多规则和高层次的概念。 2. 使用了值部(value part)这个术语并单独用一篇文章来解释值部。 这篇 文章揭示了某些类型的底层结构,从而使得Go程序员可以更深入地理解 这些类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中 的困惑非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系0 码力 | 821 页 | 956.82 KB | 1 年前3Go 入门指南(The way to Go)
章),以及如何安装 Go 语言(第 2 章)和开发 环境(第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第 语言通过改善或去除在 C、C++ 或 Java 中的一些所谓“开放”特性来让开发者们的工作更加便利。 这里只举例其中的几个,比如对于变量的默认初始化,内存分配与自动回收,以及更简洁却不失健壮的控 制结构。同时我们也会发现 Go 语言旨在减少不必要的编码工作,这使得 Go 语言的代码更加简洁,从而 比传统的面向对象语言更容易阅读和理解。 与 C++ 或 Java 这些有着庞大体系的语言相比,Go 语言简洁到可以将它整个的装入你的大脑中,而且比 学习 Scala(Java 的并发语言)有更低的门槛,真可谓是 21 世纪的 C 语言! 作为一门系统编程语言,你不应该为 Go 语言的大多数代码示例和练习都和控制台有着密不可分的关系而 感到惊奇,因为提供平台依赖性的 GUI(用户界面)框架并不是一个简单的任务。有许多由第三方发起的 GUI 框架项目正在如火如荼地进行中,或许我们会在不久的将来看到一些可用的0 码力 | 380 页 | 2.97 MB | 1 年前3Go 入门指南(The way to Go)
第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 - 2 - 本文档使用 书栈(BookStack.CN) 构建 第5章:控制结构 5.1 if-else 结构 5.2 测试多返回值函数的错误 测试多返回值函数的错误 5.3 switch 结构 5.4 for 结构 5.5 Break 与 continue 5.6 标签与 goto 第6章:函数(function) 6.1 介绍 6.2 函数参数与返回值 6.3 传递变长参数 6.4 defer 和追踪 6.5 内置函数 6.6 递归函数 6.7 将函数作为参数 6.8 闭包 6.9 应用闭包:将函数作为返回值 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素 8.3 for-range0 码力 | 466 页 | 4.44 MB | 1 年前3Golang 入门笔记
请求出华氏摄氏度的对应摄氏度温度。 答案代码 2. 关系运算符 基本介绍 1. 关系运算符的结果都是 bool 类型,要么是 true , 要么是 false 2. 关系表达式,经常在 if 结构的条件中或者循环结构的条件中 关系运算法(比较运算符) 关系运算符表格 案例代码 细节说明 1. 关系运算符的结果都是 bool 类型, 也就是要么是 true, 要么是 false 2. 关系运算符组成的表达式,我们称为关系表达式: 布尔类型也叫 bool 类型,bool 类型数据只允许取值 ture 和 flase 2. bool 类型占 1个字节 3. bool 类型适用与逻辑运算,一般用于程序流程控制 运用场景 if 条件控制语句 for 循环控制语句 测试案例 2. 数字类型 int , float32, float64 , Go 语言支持整型和浮点数字,并且支持复数,其中位运算采用补码 数字类型 uint8 的指针类型就是 *int, float32 对应的指针类型就是 *float , 以此类推。 值类型包括:基本数据类型 int 系列, bool, string , 数组和结构体 struct (b) 数组类型 (c) 结构化类型(struct) (e) 函数类型 (f) 切片类型 (g) 接口类型(interface) (h) Map 类型 语言变量 概念:变量相当于内0 码力 | 2 页 | 511.29 KB | 1 年前3Go Web编程
pkg 编译后生成的文件(比如:.a) bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中) 以后我所有的例子都是以mygo作为我的gopath目录 应用目录结构 应用目录结构 建立包和目录:$GOPATH/src/mymath/sqrt.go(包名:"mymath") 以后自己新建应用或者一个代码包都是在src目录下新建一个文件夹,文件夹名称一般是代码包名称,当然也允许多 参数可以自动更新包,而且当go get的时候会自动获取该包依赖的其他第三方包 通过这个命令可以获取相应的源码,对应的开源平台采用不同的源码控制工具,例如github采用git、googlecode采 用hg,所以要想获取这些源码,必须先安装相应的源码控制工具 通过上面获取的代码在我们本地的源码相应的代码结构如下 $GOPATH src |--github.com |-astaxie 在代码中如何使用远程包,很简单的就是和使用本地包一样,只要在开头import相应的路径就可以 import "github.com/astaxie/beedb" 程序的整体结构 程序的整体结构 通过上面建立的我本地的mygo的目录结构如下所示 bin/ mathapp pkg/ 平台名/ 如:darwin_amd64、linux_amd64 mymath.a0 码力 | 295 页 | 5.91 MB | 1 年前3大规模高性能区块链架构设计模式与测试框架-李世敬
8 趣链科技 版权所有 ©2016-2021 8 交易 区块 块链式数据结构 (狭义区块链) 分布式账本 (广义区块链) 交易指的是导致底层 数据状态发生变化的 一次操作请求,如一 笔转账交易 将一段时间内发生的 所有交易和状态打包 成为一个区块 区块以时间顺序前后相 连,组成一种块链式数 据结构,即“区块链” 一词的由来 多参与方各自部署,互 联互通,每个区块链节 ©2016-2021 10 区块链组织形态 全球范围可以访问,不依赖于单 个公司或辖区,匿名性强,任何 参与者都可在其中写入、读取、 参与交易验证。 仅在机构内使用,读写权,记账 权由组织内自由定制。中心控制 者制定可参与和进行交易验证成 员范围。 联盟链仅限于联盟成员参与,系 统内交易确认节点为事先设定, 并通过共识机制确认。 『非许可链』公有链 私有链『许可链』 联盟链『许可链』 区块链发展的主力军 趣链科技 版权所有 ©2016-2021 11 趣链科技 版权所有 ©2016-2021 11 趣链科技 版权所有 ©2016-2021 11 公有�架构(⾮�可�架构) 应⽤层 数据层 块链式结构 账户模型 时间戳 ⽹络层 共识层 激励层 发⾏机制 分配机制 PoW PoS DPoS 可编程货币 可编程⾦融 可编程社会 合约层 智能合约脚本 算法机制 合约执⾏引擎 哈希算法 数字签名0 码力 | 39 页 | 56.58 MB | 1 年前3Go基础语法宝典
Go程序设计的一些规则 array 、 slice 、 map array slice slice 有一些简便的操作 slice 有几个有用的内置函数 map make 、 new 操作 零值 流程控制 if goto for switch 函数 函数的定义 多个返回值 变参 传值与传指针 defer 函数作为值、类型 Panic和Recover main 函数和 init 用于定义抽象数据类型 break 、 case 、 continue 、 for 、 fallthrough 、 else 、 if 、 switch 、 goto 、 default 用于流程控制 chan 用于channel通讯 type 用于声明自定义类型 map 用于声明map类型数据 range 用于读取slice、map、channel数据 break default Go支持嵌套数组,即多维数组。比如下面的代码就声明了一个二维数组: slice 在很多应用场景中,数组并不能满足需求。在初始定义数组时,并不知道需要多大的数组,因此就需要 “动态数组”。在Go里面这种数据结构叫 slice slice 并不是真正意义上的动态数组,而是一个引用类型。 slice 总是指向一个底层 array , slice 的声明也可以像 array 一样,只是不需要长度。 接下来可以声明一个0 码力 | 47 页 | 1020.34 KB | 1 年前3Go语言基础 Golang Fundaments
面向数据的设计(Data-Oriented Design) “数据占主导地位。如果您选择了正确的数据结构,并 且组织得很好,那么算法几乎总是不言自明的。数据结 构,而不是算法,是编程的核心。”——罗伯•派克 • 接口和组合设计(Interface And Composition Design) – 接口赋予程序结构。 – 接口鼓励通过组合进行设计。 – 接口使得并强制清晰划分组件职责。 – 接口的标准化可以建立清晰和一致的期望。 语言的模样(部分语法如Python的编程效率) – Java 语言的脑袋(能用面向对象思路解决问题) 基本知识学习 • 请按 go tour 浏览 – “基础” • 包,变量,函数 • 流程控制语句 • 指针、结构、数组与切片、Map – 方法与接口 – 并发 Hello world! 包与子包 • 包的代码在哪里? – Go标准包,如:math/rand • https://github 面向机器的语言,确保每个位的正确 控制语句 • 控制块仅3种 – for … {} – if … {} [else {}] – switch … {} • 每个控制块都有可选初始化语句,确保块 执行结果,定义的变量从栈顶弹出 • Defer 语句 – Defer, Panic, and Recover 结构体 • 指针 – “&” 取地址操作,“*”值操作 • 结构体 – 显式申明 type0 码力 | 21 页 | 851.30 KB | 1 年前3
共 60 条
- 1
- 2
- 3
- 4
- 5
- 6