为了账号安全,请及时绑定邮箱和手机立即绑定

go语言第一课笔记

标签:
Go

go语言特点:

1、静态类型、编译型的开源语言

2、脚本化的语言,支持多种编程范式

3、原生、给力的并发编程支持。

go语言的优势

1、脚本化

2、静态编译、效率高

3、原生支持并发 降低开发和维护的成本,可以更好执行。

劣势 :1、语法糖没有Python和ruby那么多;2、程序运行速度不及C;3、第三方库还没有主流的多。

Linux下的安装方法

下载最新二进制档案包。 golang.org/dl/

用tar命令将档案包解压到usr/local目录中

验证安装结果 go version

4个环境变量  GOROOT GOPATH GOBIN PATH

工作区 是放置GO源文件的目录

src目录用于存放源码文件 

pkg用于存放归档文件 (.a为后缀的文件)所有归档文件都会存在该目录下的平台相关目录中,以代码包为组织形式。

两个隐含的go语言环境变量:GOOS(操作系统) GOARCH (计算架构)

bin目录 用于存放当前工作区中的go程序的可执行文件。

go源码文件 以.go为后缀

分三类:命令源码文件、库源码文件、测试源码文件

命令源码文件:声明自己属于main代码包、包含无参数声明和结果声明的main函数

被安装后,相应的可执行文件会被存放在GOBIN指向的目录或者当前工作区域目录/bin下。

命令源码文件是go程序的入口,不建议吧程序都写在一个文件中tes

库源码文件:不具备命令源码文件的那两个特征的文件。

测试源码文件:名称_test.go为后缀。其中至少有一个函数的名称以Test或Benchmark为前缀,并且该函数接受一个类型为*testing.T或者*testing.B的参数。

基准测试函数。

代码包:编辑和归档go程序的最基本单位。

代码包实际上市一个由导入路径代币的目录。

每个源码文件都必须声明其所属的代码包,同一代码包中的所有源码文件声明的代码包都应该相同。

代码包声明语句中的名称应该是路径最右边的命

代码包导入语句中使用的包名称应该与其导入路径一致。

代码包导入方法

别名 import str "strings"

本地化导入 import "strings"

仅仅初始化 import _"strings"

代码包初始化函数:无参数声明和结果声明的init函数。

init函数执行时机:对所有全局变量求值--->执行所有init函数

不同包之间 :不应该同一个导入的多个包的,init函数的执行先后顺序进行假定。

go run 用于运行命令源码文件。只能接受一个命令源码文件以及若干个库源码文件作为文件参数。

go 常用标记的使用

-a:强制编译相关代码,不论它们的编译结果是否已是最新的

-n:打印编译过程中所需运行的命令,但不真正的执行它们

-p n:并行编辑,其中n为并行的数量

-v:列出被编译的代码包的名称

-work:显示编译时创建的临时工作目录的路径,并且不删除它。

-x:打印编辑过程中所需要运行的命令。

go bulid 用于编译源码文件或者代码包

编译非命令源码文件不会产生任何结果文件

编译命令源码文件会在该命令的执行目中产生一个可执行文件。

执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译。

执行该命令且以代码包导入路径作为参数的时候,该代码包及其依赖会被编译。

执行该命令且以若干源码文件为参数时,只有这些文件会被编译。

go install 用于编译并安装代码包或者源码文件。

安装代码包会在当前工作区的pkg/平台相关目录下生成归档文件

安装命令源码文件会在当前工作区的bin目录或者$GOBIN目录下生成可执行文件

执行该命令且不追加参数,它试图将当前目录作为包编译安装

go get:用于从远程代码仓库上下载并安装代码包

指定代码包会被下载到$GOPATH中包含的第一个工作区的src目录中

go get 常用标记使用

-d:只执行下载动作,而不执行安装动作。

-fix:在下载代码包后先执行修正动作,再进行编译安装

-u:利用网络来更新已有的代码包及其依赖包。



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消