第001节:知名编程语言或系统的发展简史
一、B语言 B语言之父:Ken Thompson(肯.汤普森)。B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后Ken Thompson(肯.汤普森)在Dennis Ritchie丹尼斯.里奇(Dennis Ritchie)的支持下设计出来。该语言得名于汤姆森的妻子Bonnie,它是一门开发于60年代中期的语言,现在使用者已经很少了。  二、C语言 C
作者:RainNight 2021-03-16 所属分类:[Golang]
第002节:Go语言的前世今生
## 一、 为什么需要一个新的语言 ------ 最近十年来,C/C++在计算领域没有很好得到发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么执行效率高,但低效的开发和编译,如C++;要么执行低效,但拥有有效的编译,如.NET、Java;所以需要一种拥有较高效的执行速度、编译速度和开发速度的编程语言,Go就横空出世了。 > 传统的语言比如c++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运
作者:RainNight 2021-03-16 所属分类:[Golang]
第003节:Go语言logo和版本
## 一、 Go的logo ---- ### 1.1 Go语言的logo ---- Go语言的logo就是很简洁的GO两个字母。 1.2 Go的吉祥物 Go之所以叫Go,是想表达这门语言的运行速度、开发速度、学习速度(develop)都像gopher一样快。 gopher是一种生活在加拿大的小动物,go的吉祥物就是这个小动物, 它的中文名叫做囊地鼠,他们最大的特点就是挖洞速度特别快,当然可能不止是挖洞啦。 ### 二、Go的官网 --- ### 三、 Go语言主要发展过程 --- 2007年9月
作者:RainNight 2021-03-16 所属分类:[Golang]
第004节:Go语言的核心特性
Go语言,作为编程语言的后生,站在巨人的肩膀上,吸收了其他一些编程语言的特点。 Go 编程语言是一个开源项目,它使程序员更具生产力。Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。(摘取自官网) ### 一、思想 --- L
作者:RainNight 2021-03-16 所属分类:[Golang]
第005节:Go语言和其他语言的对比
### 一、Go语言设计初衷 --- ### 1、设计Go语言是为了解决当时Google开发遇到的问题: --- * 大量的C++代码,同时又引入了Java和Python * 成千上万的工程师 * 数以万计行的代码 * 分布式的编译系统 * 数百万的服务器 ### 2、Google开发中的痛点: --- * 编译慢 * 失控的依赖 * 每个工程师只是用了一个语言里面的一部分 * 程序难以维护(可读性差、文档不清晰等) * 更新的花费越来越长 * 交叉编译困难 ### 3、如何解决当前的问题和痛点
作者:RainNight 2021-03-16 所属分类:[Golang]
第006节:Go语言能做什么
### 一、我们为什么选择Go语言 ---- 选择Go语言的原因可能会有很多,关于Go语言的特性、优势等,我们在之前的文档中也已经介绍了很多了。但是最主要的原因,应该是基于以下两方面的考虑: 执行性能 缩短API的响应时长,解决批量请求访问超时的问题。在Uwork的业务场景下,一次API批量请求,往往会涉及对另外接口服务的多次调用,而在之前的PHP实现模式下,要做到并行调用是非常困难的,串行处理却不能从根本上提高处理性能。而GO语言不一样,通过协程可以方便的实现API的并行处理,达到处理效率的最
作者:RainNight 2021-03-16 所属分类:[Golang]
第007节:Go语言环境搭建
### 一、Golang语言的官网 --- 首先我们登录Golang的官方网站:https://golang.org/ >因为Google和中国的关系,直接登录Golang的官网,需要翻墙。 当然你也可以登录Golang的国内网站:https://golang.google.cn/ ### 二、下载 --- 在Mac、Windows和Linux三个平台上都支持Golang。您可以从https://golang.org/dl/下载相应平台的安装包。 该网站在国内不容易访问,所以可以访问中国对应的h
作者:RainNight 2021-03-16 所属分类:[Golang]
第008节:第一个程序HelloWorld
### 一、go项目工程结构 --- 配置好工作目录后,就可以编码开发了,在这之前,我们看下go的通用项目结构,这里的结构主要是源代码相应地资源文件存放目录结构。 ### 1.1 gopath目录 gopath目录就是我们存储我们所编写源代码的目录。该目录下往往要有3个子目录:src,bin,pkg。 >src —- 里面每一个子目录,就是一个包。包内是Go的源码文件 >pkg —- 编译后生成的,包的目标文件 >bin —- 生成的可执行文件。 ### 1.2 编写第一个程序 每个编程语言的学
作者:RainNight 2021-03-16 所属分类:[Golang]
第009节:Go的执行原理以及Go的命令(上)
### 一、Go的源码文件 --- Go 的源码文件分类: 第009节:Go的执行原理以及Go的命令(上) 如上图,分为三类: ### 1、命令源码文件: 声明自己属于 main 代码包、包含无参数声明和结果声明的 main 函数。 命令源码文件被安装以后,GOPATH 如果只有一个工作区,那么相应的可执行文件会被存放当前工作区的 bin 文件夹下;如果有多个工作区,就会安装到 GOBIN 指向的目录下。 命令源码文件是 Go 程序的入口。 同一个代码包中最好也不要放多个命令源码文件。多个命令源
作者:RainNight 2021-03-16 所属分类:[Golang]
第010节:Go的执行原理以及Go的命令(下)
### 二、Go的命令 --- 目前Go的最新版1.12里面基本命令有以下17个。 我们可以打开终端输入:go help即可看到Go的这些命令以及简介。 bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environme
作者:RainNight 2021-03-16 所属分类:[Golang]
第011节:安装Goland开发工具
开发工具: 文本类的编辑器:记事本,notepad,sublime text,atom。。。 通过命令执行程序 IED:集成开发环境(integrated development environment) goland ### 1.1 使用Goland --- Goland是JetBrains公司推出的Go语言IDE,是一款功能强大,使用便捷的产品。 下载地址:http://www.jetbrains.com/go 对于Mac和Windows,都有直接的安装文件,直接双击后,傻瓜式安装,
作者:RainNight 2021-03-16 所属分类:[Golang]
第012节:编码规范
本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一个说明。该规范参考了 go 语言官方代码的风格制定。 ### 一、 命名规范 --- 命名是代码规范中很重要的一部分,统一的命名规则有利于提高的代码的可读性,好的命名仅仅通过命名就可以获取到足够多的信息。 Go在命名时以字母a到Z或a到Z或下划线开头,后面跟着零或更多的字母、下划线和数字(0到9)。
作者:RainNight 2021-03-16 所属分类:[Golang]
[基础语法]-第001节:变量的使用
### 一、变量的使用 --- ### 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称。在go中声明变量有多种语法。 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 ### 1.2 声明变量 var名称类型是声明单个变量的语法。 >以字母或下划线开头,由一个或多个字母、数字、下划线组成 声明一个变量 第一种,指定变量类型,声明后若不赋值,使用默认值 ```golang var name type name = value ``` 第二种,根据值自行判
作者:RainNight 2021-03-16 所属分类:[Golang]
[基础语法]-第002节:常量的使用
### 一、常量的使用 --- ### 1.1 常量声明 常量是一个简单值的标识符,在程序运行时,不会被修改的量。 ```go const identifier [type] = value ``` ```go 显式类型定义: const b string = "abc" 隐式类型定义: const b = "abc" ``` ```go package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int =
作者:RainNight 2021-03-17 所属分类:[Golang]
[基础语法]-第003节:基础数据类型
### 一、基本数据类型 --- 以下是go中可用的基本数据类型 ### 1.1 布尔型bool 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true ### 1.2 数值型 #### 1、整数型 int8 有符号 8 位整型 (-128 到 127) 长度:8bit int16 有符号 16 位整型 (-32768 到 32767) int32 有符号 32 位整型 (-2147483648 到 2147483647) int64 有符号 64
作者:RainNight 2021-03-17 所属分类:[Golang]
书籍标签
- Adobe系列
- Android
- AngularJS
- C#
- Cassandra The Definitive Guide
- Common Lisp
- Concepts of Programming Languages
- confidence
- C和C++
- C和指针
- Docker
- git
- Golang
- Hadoop
- HTML5
- http
- IPv6
- Java
- Javascript
- Linux
- MySQL
- Netty
- Nginx
- NodeJs
- OpenCV
- Oracle
- PaaS
- Perl
- PHP
- Python
- redis
- Ruby
- SEO系列
- shell
- Shell编程
- SQL Server
- SQL
- ssh
- Swagger
- TCL语言
- TCP
- Unix
- Vue
- Web安全
- Web开发技术丛书
- Windows 10技术与应用
- 云计算与虚拟化技术丛书
- 交互设计
- 产品经理
- 产品设计
- 产品运营
- 人工智能
- 人文主义
- 人物传记
- 人物自传
- 代码艺术
- 写作技巧
- 写作技法
- 军事历史
- 分布式
- 分布式原理
- 办公
- 励志
- 区块链
- 医学
- 历史学
- 哲学
- 团队建设
- 图形学
- 地理学
- 增长黑客
- 大数据
- 天文学
- 安卓模拟器
- 密码学
- 密码技术
- 小程序
- 嵌入式软件开发
- 巴洛克艺术
- 建模与设计
- 开发规范
- 影响力
- 微服务
- 心理学
- 思考力
- 批判性思维
- 技术架构
- 投资理财
- 推荐系统
- 操作系统
- 数字图像
- 数学
- 数据分析
- 数据库系统
- 数据挖掘
- 数据科学
- 数据结构
- 时间规划
- 易学
- 星座学
- 机器学习
- 概率游戏
- 歌词英译
- 正则表达式
- 流程设计
- 测试
- 消息中间件
- 淘金客
- 深度学习
- 渗透测试
- 游戏设计与开发
- 烹饪
- 爬虫
- 物理学
- 理解力
- 生态链
- 用户力
- 白皮书
- 知识自动化理论
- 科幻小说
- 程序人生
- 程序员
- 程序设计
- 程序设计人生
- 程序设计竞赛
- 算法
- 系统化思维
- 经济学
- 绘画
- 统计学
- 编程艺术
- 编程范式
- 编译原理
- 编译器设计与实现
- 网站分析
- 网络安全
- 网络架构
- 网络硬件
- 美食主义
- 职业目标
- 股票
- 自我修养
- 自然语言
- 艺术
- 英语学习
- 英语词汇
- 营销
- 装修
- 计算机
- 计算机系统
- 设备驱动
- 设计模式
- 设计法则
- 财务管理
- 软件工程
- 软件架构
- 运动
- 逻辑学
- 遗传学
- 金融工程
- 需求分析
- 面向模式的软件架构
- 项目管理
- 领域驱动设计
- 黑客