Go Web编程GOPATH 与工作空间 1.3. Go 命令 1.4. Go开发工具 1.5. 小结 2.Go语言基础 2.1. 你好,Go 2.2. 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包详解 links 目录 上一节: Go环境配置 下一节: GOPATH 与工作空间 11 1.2 GOPATH与工作空间 1.2 GOPATH与工作空间 GOPATH设置 GOPATH设置 go 命令依赖一个重要的环境变量:$GOPATH1 (注:这个不是Go安装目录。下面以笔者的工作目录为说明,请替换自己机器上的工作目录。) 在类似 Unix 环境大概这样设置: sh export GitHub (Git) Google Code Project Hosting (Git, Mercurial, Subversion) Launchpad (Bazaar) 所以为了go get 能正常工作,你必须确保安装了合适的源码管理工具,并同时把这些命令加入你的PATH中。其实 go get支持自定义域名的功能,具体参见go help remote。 go install go install0 码力 | 295 页 | 5.91 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。 ‧ 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 ch0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本书的代码审阅工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库:0 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.1.0 Go版802、primexiao、nidhoggfgg、1ch0、MwumLi、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh 和 Keynman 。 本书的代码审阅工作由 codingonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、 night‑cruise、nuomi1 和 Reanon 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 1. 阶段一:算法入门。我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效 率等方面的内容。 2. 阶段二:刷算法题。建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题 时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版233、xb534、luluxia、yanedie、thomasq0、 YangXuanyi 和 th1nk3r‑ing 。 第 0 章 前言 hello‑algo.com 4 本书的代码审阅工作由 codingonion、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、night‑cruise、 nuomi1 和 Reanon 完成(按照首字母顺 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 1. 阶段一:算法入门。我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效 率等方面的内容。 2. 阶段二:刷算法题。建议从热门题目开刷,如“剑指 Offer”和“LeetCode Hot 100”,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版Keynman, youshaoXG, lipusheng, Javesun99, tao363, czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时 如果时间允许,建议你参照代码自行敲一遍。如果学习时间有限,请至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github 的见解,帮助他人进步。 图 0‑6 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 1. 算法入门。我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效率等方面 内容。 2. 刷算法题。建议从热门题目开刷,如剑指 Offer和LeetCode Hot 100,先积累至少 100 道题目,熟悉 主流的算法问题。初次刷题时,“知识遗忘”0 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Go 版本專案旨在建立一本開源、免費、對新手友好的資料結構與演算法入門教程。 ‧ 全書採用動畫圖解,內容清晰易懂、學習曲線平滑,引導初學者探索資料結構與演算法的知識地圖。 ‧ 源程式碼可一鍵執行,幫助讀者在練習中提升程式設計技能,瞭解演算法工作原理和資料結構底層實 現。 ‧ 提倡讀者互助學習,歡迎大家在評論區提出問題與分享見解,在交流討論中共同進步。 0.1.1 讀者物件 若你是演算法初學者,從未接觸過演算法,或者已經有一些刷題經驗,對資料結構與演算法有模糊的認識, h0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本書的程式碼審閱工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 程式碼。 與閱讀程式碼相比,編寫程式碼的過程往往能帶來更多收穫。動手學,才是真的學。 第 0 章 前言 www.hello‑algo.com 6 圖 0‑3 執行程式碼示例 執行程式碼的前置工作主要分為三步。 第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫:0 码力 | 385 页 | 18.80 MB | 10 月前3
Golang 101(Go语言101 中文版) v1.21.a第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 这些类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中 的困惑非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系 对于理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹 非接口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了Go白皮书中的一 地,此文列出了所有的简单语句类型。 在Go代码中,各种流程控制代码块中 的某些部分必须为简单语句,某些部分必须为表达式。 StatRandomNumbers函数的声明体中使用了两个流程控制代码块。 其中一个是 for循环代码块,它内嵌了另外一个代码块。 另外一个代码块是一个if-else 条件控制代码块。 请阅读基本流程控制语法(第12章)以获取更多关于流程 控制代码块的信息。 更多的特殊的流程控制代码块将在以后的其它文章中介0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑 非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对 于理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹非 接口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了Go白皮书中的一 地,此文列出了所有的简单语句类型。 在Go代码中,各种流程控制代码块中的 某些部分必须为简单语句,某些部分必须为表达式。 StatRandomNumbers函数的声明体中使用了两个流程控制代码块。 其中一个是 for循环代码块,它内嵌了另外一个代码块。 另外一个代码块是一个if-else条 件控制代码块。 请阅读基本流程控制语法(第12章)以获取更多关于流程控制 代码块的信息。 更多的特殊的流程控制代码块将在以后的其它文章中介绍。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑非常有 帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对于 理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹非接 口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了Go白皮书中的一 此文列出了所有的简单语句类型。 在Go代码中,各种流程控制代码块中的某些部分 必须为简单语句,某些部分必须为表达式。 StatRandomNumbers函数的声明体中使用了两个流程控制代码块。 其中一个是 for循环代码块,它内嵌了另外一个代码块。 另外一个代码块是一个if-else条件 控制代码块。 请阅读基本流程控制语法(第12章)以获取更多关于流程控制代码块 的信息。 更多的特殊的流程控制代码块将在以后的其它文章中介绍。0 码力 | 591 页 | 21.40 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版Keynman, youshaoXG, lipusheng, Javesun99, tao363, czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时 Figure 0‑6. 评论区示例 0.2.5. 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段: 1. 算法入门。我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效率等方面 内容。 2. 刷算法题。建议从热门题目开刷,如剑指 Offer和LeetCode Hot 100,先积累至少 100 道题目,熟悉 主流的算法问题。初次刷题时,“知识遗忘” 角度,我们可以把字典视为一 个已排序的「数组」;从算法的角度,我们可以将上述查字典的一系列操作看作是「二分查找」算法。 例二:整理扑克。我们在打牌时,每局都需要整理扑克牌,使其从小到大排列,实现流程如下: 1. 将扑克牌划分为“有序”和“无序”两部分,并假设初始状态下最左 1 张扑克牌已经有序。 2. 在无序区间抽出一张扑克牌,插入至有序区间的正确位置;完成后最左 2 张扑克已经有序。 30 码力 | 347 页 | 27.40 MB | 1 年前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













