程序:就是完成某个功能的指令的集合。
二 为什么选择Go语言Go语言是区块链最主流的编程语言,同时也是当前最具发展潜力的语言。
Go语言是Google公司创造的语言,也是Google主推的语言。
国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里、小米、京东等都已经开始大规模使用Golang开发其云计算相关产品。
谁先占领了先机,谁就拥有更多的机会。
三 Go语言的核心开发团队——三个大牛 四 Google创建Golang的原因1 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
2 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。
现在的编程语言具有以下问题:
a 风格不统一
b 计算能力不够
c 处理大并发不够好
3 企业运行维护很多c/c++的项目,c/c++程序运行速度虽然很快,但是编译速度确很慢,同时还存在内存泄漏的一系列的困扰需要解决。
五 Golang的发展历程2007:谷歌工程师开始设计一门全新的语言,它是Go语言的最初原型。
2009:Google将Go语言以开放源码的方式向全球发布。
2015:Go 1.5版本发布,本次更新移除了"最后残余的C代码"。
2017:Go语言发布1.8、1.9版。
2018:Go语言发布1.10版。
六 Golang语言特点Go语言保证了既能达到静态编译语言的安全和性能,又能达到动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go = C + Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
1 从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了和C语言一样的编译执行方式及弱化的指针。
// go语言指针使用特点
func testPtr(num *int){
*num=20
}
2 引入包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。
package main // 一个go文件需要在一个包
import "fmt" // 导入实现格式化的 I/O
func main() {
// 输出一句话
fmt.Println("ok")
}
3 垃圾回收机制,内存自动回收,不需要开发人员管理。这个是c语言做不到的。
4 天然并发(重要特性)
-
从语言层面支持并发,实现简单。
-
goroutine,轻量级线程,可实现大并发处理,高效利用多核。
-
基于CPS并发模型(Communicating Sequential Processes)实现。
5 吸收了管道通信机制,形成了Go语言特有的管道channel
通过管道channel,可以实现不同的goroute之间的相互通信。
6 函数可以返回多个值