一、Go语言的基本认识 二、基本语法结构 三、包的基本概念 四、Go代码执行方式 五、Go语言变量 六、数据类型

 

一、Go语言的基本认识

 Go语言的优点

1、Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容 Go 语言:Go = C + Python ,

说明 Go 语言既有 C 静态语言程序的运行速度,又能达到了 Python 动态语言的快速开发。

2、总结就是,实现快 + 资源占用低 + 任意环境都能跑,在很多场景都好使。

 

Go语言的特点

1、从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了和 C 语言一样的编译执行方式及指针

2、引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在。

Go语言(一)

 

 

3、垃圾回收机制,内存自动回收,不需开发人员管理。

4、Go语言为并发而生:Go语言正是在多核和网络化的时代背景下诞生的,原生支持并发的编程语言。Go语言从底层原生支持并发,无须第三方库,

开发人员可以很轻松地在编写程序时决定怎么使用 CPU 资源。

5、吸收了管道通信机制,形成 Go 语言特有的管道 channel, 通过管道channel , 可以实现不同的 goroutine 之间的相互通信。Go语言的并发是基于 goroutine 的,

goroutine 类似于线程,多个 goroutine 中,Go语言使用管道(channel)进行通信,channel是一种内置的数据结构,可以让用户在不同的 goroutine 之间同步发送消息。

6、函数可以返回多个值

举例:

写一个函数,实现同时返回 和,差

Go语言(一)

 

7、新的创新:比如切片 slice、延时执行 defer。

 

下载地址:

https://studygolang.COM/dl

安装配置:

https://studygolang.com/articles/6165

查看安装版本,有输出安装成功

Go语言(一)

 

 

二、基本语法结构

hello.go 文件

Go语言(一)

 

 

让我们来看下以上程序的各个部分:

1、第一行代码 package main 定义了包名。必须在源文件中第一行指明这个文件属于哪个包。

2、下一行 import "fmt" ,导入一个包,因为要用到包里面的函数。导入的包必须使用,不然会报错,报错内容 imported and not used: "xxx","xxx" 表示包名。

3、下一行 func main(),用func定义一个函数,main 函数是每一个可执行程序所必须包含的,它是Go语言程序的入口函数,也即程序启动后运行的第一个函数。

4、下一行PRintln() 可以将字符串输出到控制台。

5、需要注意的是{不能单独放在一行,不然会在运行时会产生错误。是因为go语言默认在每行结尾自动加上 ‘;’ 分号。

 

三、包的基本概念

1、基本概念

Go语言是使用包来组织管理源代码的,任何源代码文件(go文件)必须属于某个包,同时源码文件的第一行有效代码必须是package pacakgeName 语句,

通过该语句声明自己所在的包。Go语言中为我们提供了很多内置包,如 fmt、os、io 等。

2、包的几个说明:

同一个目录下的同级的所有go文件应该属于一个包;

包的名称可以跟目录不同名,不过建议同名;

一个Go语言程序有且只有一个main函数,他是Go语言程序的入口函数,且必须属于main包,main函数没有或者存在多个,进行编译时都会报错;

3、包的导入

Go语言(一)

 

 

四、go代码执行方式

方式一:对源码编译后再执行,执行流程如下图:

Go语言(一)

 

 命令如下:

Go语言(一)

 

 1、在该源文件目录下,通过 go build 对 go 文件进行编译。可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀。

Go语言(一)

 

2、如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exe ),该文件是二进制码文件,也是可以执行的程序。

Go语言(一)

 

 3、如果程序有错误,编译时,会在错误的那行报错。通过报错,进行调试

Go语言(一)

 

 4、运行:

Go语言(一)

 

 方式二:对源码直接 执行 go run 源码,Go 的执行流程如下图

Go语言(一)

 

 执行方式如下:

Go语言(一)

 

对两种执行流程的方式的说明

1、如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机器上,仍然可以运行

2、如果我们是直接 go run go 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发环境,否则无法执行。

3、在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。

 

最后:

Go语言程序编写的几个简单规则

1、go 文件的后缀 xx.go

2、go 程序区分大小写

3、go 的语句后,不需要带分号

4、go 定义的变量,或者 import 包,必须使用,如果没有使用就会报错

5、go 中,不要把多条语句放在同一行,否则报错

6、go 中的大括号成对出现,而且风格如下

func main() {

//语句

}

 

五、Go语言变量

1、变量的定义

定义变量的三种方式:

(1) 第一种:指定变量类型,声明后若不赋值,使用默认值

Go语言(一)

 

 (2) 第二种:根据值自行判定变量类型(类型推导)

Go语言(一)

 

 (3)第三种:省略 VAR

Go语言(一)

 

注意 : 申明的变量必须使用,否则会报错 

Go语言(一)

 

 

2、多变量的声明

方式一:

Go语言(一)

 

 方式二:

Go语言(一)

 

 方式三:

Go语言(一)

 

 

如何函数外声明多个全局变量:

Go语言(一)

 

 

3、变量使用的注意事项

(1)作用域内的数据值可以在同一类型范围内不断变化

Go语言(一)

 

 (2)变量在同一个作用域(在一个函数或者在代码块)内不能重名,可以重新赋值,但不能对同一个变量重新声明

Go语言(一)

 

 

(3)变量的三要素,变量=变量名+值+数据类型

(4)Go语言的变量如果没有赋初值,编译器会使用默认值, 比如 int 默认值 0 string 默认值为空串,小数默认为 0

 

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的Go语言(一)全部内容,希望文章能够帮你解决Go语言(一)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。