一、概述
●什么是程序:
程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
●Go语言 是区块链最主流的编程语言
同时也是当前最具发展潜力的语言
●Go语言是Google公司创造的语言,也是Google主推的语言。
●Google创造Golang的原因
●Golang的语言的特点
Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言: Go=C + Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
1 ) 从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和C语言一样的编译执行方式及弱化的指针
2 ) 引入包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。 3 ) 垃圾回收机制,内存自动回收,不需开发人员管理
4 ) 天然并发(重要特点) (1)从语言层面支持并发,实现简单 (2) goroutine,轻量级线程,可实现大并发处理,高效利用多核。
(3)基于CPS并发模型(Communicating Sequential Processes )实现
5 ) 吸收了管道通信机制,形成Go语言特有的管道channel通过管道channel ,可以实现不同的goroute之间的相互通信。 6 ) 函数可以返回多个值
7 ) 新的创新:比如切片 slice 、 延时执行 defer等
二、Windows下搭建Go开发环境 1、SDK的全称(Software Development Kit 软件开发工具包)
2、SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包。
SDK下载地址:Downloads - The Go Programming Language
3、解压后的 go目录就是SDK
bin文件夹存放 go的指令 go / godoc / gofmt
src文件夹放 go的源代码
4、go.exe 使用go.exe可以编译和运行我们的go源码
5、如何测试go的SDK安装成功 go version
6、配置环境变量
三、Go语言快速开发入门 一、
1)go文件的后缀是.go
2)package main
表示该hello.go 文件所在的包是main,在go中,每个文件都必须归属于一个包。
3)import "fmt"
表示:引入一个包,包名fmt,引入该包后,就可以使用fmt包的函数,比如:fmt.Println
4) func main(){
}
func 是一个关键字,表示一个函数
main是函数名,是一个主函数,即我们程序的入口
5)fmt.Println("hello")
表示调用 fmt包的函数 Println输出"hello,world"
二、
通过go build 命令对该go文件进行编译,生成 .exe文件
三、
运行hello.exe文件即可
注意:通过 go run 命令可以直接运行hello.go 程序 [类似执行一个脚本文件的形式]
四、Golang执行流程分析 如果是对源码编译后,再执行,Go的执行流程如下图
如果对源码直接执行 go run 源码,Go的执行流程如下图
两种执行流程的方式区别
1)如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
2)如果我们是直接 go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。
3)在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。
Go语言程序开发的注意事项
- Go源文件以“go”为扩展名。
2)Go应用程序的执行入口是mainO函数。这个是和其它编程语言(比如java/c)
3)Go语言严格区分大小写。
- Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang 的简洁性。
5)Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
6)go语言定义的变量或者import的包如果没有使用到,代码不能编译通过。
7)大括号都是成对出现的,缺一不可。
Go语言的转义字符 1) \t : 表示一个制表符,通常使用它可以排版。
2)\n :换行符
3)\ :一个\
-
" : 一个 "
-
\r : 一个回车 fmt.Println("12346577\r758")
从当前行的最前面开始输出,覆盖掉以前内容