Go语言是区块链最主流的编程语言,是Google公司创造的语言。
特点:保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率。Go = C + Python,说明语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
例如:
1.从C语言中继承了很多理念,包括表达式语法、控制结构、基础数据类型、调用参数传值、指针等等,也保留了和C语言一样的编译执行方式及弱化的指针。即C语言涉及到的底层Go语言也能涉及到,C语言做不到的简易开发Go语言能做到。
2.引入包的概念,用于组织程序结构。Go语言的一个文件都要归属于一个包,文件不能单独存在。
3. 内置垃圾回收机制,内存自动回收,不需要开发人员对内存进行管理,更好地专注于代码的业务逻辑。
4. 支持天然并发。重要特点,Go的独特性取决于它支持天然并发。
①从语言层面支持并发,实现简单
②goroutime,轻量级线程,可实现大并发处理,高效利用多核
③基于CPS并发模型实现的
5. 吸收了管道通信机制,形成Go语言中特有的管道channel,通过管道实现不同goroutime之间的通信
Golang的应用领域:
- 区块链(BT)技术,也称为分布式账本技术
- 后端服务器应用
- 云计算/云服务后台用用。例如盛大云(CDN)的内容分发网络
Golang的发展方向:区块链,Go服务器端(处理大数据,大并发)
Golang快速开发入门
要求开发一个hello.go程序,输出 hello world
还未安装go开发软件,使用电脑dos来执行的情况:
1.** 任选一款Golang编译软件,生成一个 hello.go 文件**
package main //①
import "fmt" //②
func main(){ //③
fmt.Println("hello world") //④
}
①表示该 hello.go 文件是在 main包中
②表示引入了一个包名为 fmt 的包,引入后可以使用这个包里面的方法
③func 是一个关键字,表示一个函数,main是函数名,是一个主函数,即程序的入口
④表示调用 fmt 包的输出函数
2.在dos中编译 go 文件(两种执行方法)
(1)通过 go build命令编译
①打开cmd,进入go文件所在的目录
②执行 go build hello.go文件,该条命令执行完毕后,在hello.go文件所在的目录中会自动生成 hello.exe文件(计算机可执行的文件)
③再在cmd中执行 hello.exe文件编译文件,输出结果
(2)使用 go run hello.go语句编译文件
两种执行方法的区别
- 如果先编译了可执行文件,可以将该可执行文件拷贝到没有go开发环境的机器上,仍可运行;
- 如果直接 go run xxx.go 源代码,在另外一台机器上仍需要go的开发环境
- 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,因此可执行文件比源文件大很多。
Golang程序开发注意事项:
- Go源文件以 .go为扩展名
- Go应用程序的执行入口是**main()**函数
- Go方法由一条条语句构成,每个语句后不需要分号(Go语言会自动加在每条语句的后面)
- Go编译器是一行行进行编译的,一行就写一条语句,不能把多条语句写在一行
- Golang定义的变量和导入的包如果没有使用到,代码不能通过编译
- Go严格区分大小写