一、Go语言的基本认识Go语言的优点
1、Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容 Go 语言:Go = C + Python ,
说明 Go 语言既有 C 静态语言程序的运行速度,又能达到了 Python 动态语言的快速开发。
2、总结就是,实现快 + 资源占用低 + 任意环境都能跑,在很多场景都好使。
Go语言的特点
1、从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了和 C 语言一样的编译执行方式及指针
2、引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在。
3、垃圾回收机制,内存自动回收,不需开发人员管理。
4、Go语言为并发而生:Go语言正是在多核和网络化的时代背景下诞生的,原生支持并发的编程语言。Go语言从底层原生支持并发,无须第三方库,
开发人员可以很轻松地在编写程序时决定怎么使用 CPU 资源。
5、吸收了管道通信机制,形成 Go 语言特有的管道 channel, 通过管道channel , 可以实现不同的 goroutine 之间的相互通信。Go语言的并发是基于 goroutine 的,
goroutine 类似于线程,多个 goroutine 中,Go语言使用管道(channel)进行通信,channel是一种内置的数据结构,可以让用户在不同的 goroutine 之间同步发送消息。
6、函数可以返回多个值
举例:
写一个函数,实现同时返回 和,差
7、新的创新:比如切片 slice、延时执行 defer。
下载地址:
https://studygolang.COM/dl
安装配置:
https://studygolang.com/articles/6165
查看安装版本,有输出安装成功
二、基本语法结构
hello.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代码执行方式
方式一:对源码编译后再执行,执行流程如下图:
命令如下:
1、在该源文件目录下,通过 go build 对 go 文件进行编译。可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀。
2、如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exe ),该文件是二进制码文件,也是可以执行的程序。
3、如果程序有错误,编译时,会在错误的那行报错。通过报错,进行调试
4、运行:
方式二:对源码直接 执行 go run 源码,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) 第一种:指定变量类型,声明后若不赋值,使用默认值
(2) 第二种:根据值自行判定变量类型(类型推导)
(3)第三种:省略 VAR
注意 : 申明的变量必须使用,否则会报错
2、多变量的声明
方式一:
方式二:
方式三:
如何函数外声明多个全局变量:
3、变量使用的注意事项
(1)作用域内的数据值可以在同一类型范围内不断变化
(2)变量在同一个作用域(在一个函数或者在代码块)内不能重名,可以重新赋值,但不能对同一个变量重新声明
(3)变量的三要素,变量=变量名+值+数据类型
(4)Go语言的变量如果没有赋初值,编译器会使用默认值, 比如 int 默认值 0 string 默认值为空串,小数默认为 0
脚本宝典总结
以上是脚本宝典为你收集整理的Go语言(一)全部内容,希望文章能够帮你解决Go语言(一)所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。