-
速度超过c++和java,比c慢查看全部
-
优势:原生支持并发,静态类型和编译型所以运行速度有保障,脚本语言所以更容易上手开发效率高查看全部
-
Go语言的整数类型一共有10个。
其中计算架构相关的整数类型有两个,即:有符号的整数类型int
和无符号的整数类型uint
。在不同计算架构的计算机之上,它们体现的宽度不同,宽度即指存储一个某类型的值所需要的空间,空间的单位可以所比特也可以是字节
查看全部 -
变量与常量
声明变量关键字var和常量关键字const
绝大多数的数据类型都可以被赋值给一个变量包括函数,但是常量只能被赋予基本数据类型值本身
变量在声明时可以直接为它赋值,也可以只声明不赋值。
var num1 int =1 或者只声明 var num2 int
平行赋值 var num3 num4 int int = 2,3
多行赋值 var (
num4 int = 4
num5 int = 5
)
常量不能出现只声明不赋值的情况
查看全部 -
Go语言源码文件都由若干个程序实体组成的。在Go语言中,变量、常量、函数、结构体和接口被统称为“程序实体”,而它们的名字被统称为“标识符”。
标识符可以是任何Unicode编码可以表示的字母字符、数字以及下划线“_”。不过,首字母不能是数字或下划线。
查看全部 -
代码包初始化函数:无参数声明和结果声明的init函数
init函数可以被声明在任何文件中,且可以有多个
init函数的执行时机——单一代码包内
1对所有全局变量进行求值 2执行所有init函数
如果在不同对代码包内
1执行被导入对代码包中对init函数 2执行导入它对那个代码包对init函数
导入顺序 A——B——C 执行顺序 C——B——A
init函数肯定在main函数之前先执行,每一个init函数都只会执行一次
查看全部 -
代码包的作用
编译和归档Go程序的最基本单位,代码划分、集结和依赖的有效组织形式,也是权限控制的辅助手段
代码包的规则一个代码包实际上就是一个由导入路径代表的目录
导入路径即<工作区目录>/src或<工作目录>/pkg/<平台相关目录>之下的某段子路径
代码包声明
每个源码文件必须声明其所属的代码包,同一个代码包中的所有源码文件声明的代码包应该是相同的
代码包声明与代码包导入路径的区别:
代码包声明语句中的包名应该是该代码包导入路径的最右子路径,代码包导入语句中使用的包名称应该与其导入路径一致
带别名的导入方式 import str “string”
本地化导入 import . "strings"
仅初始化 import _ "strings" (仅执行代码包中的初始化函数)
查看全部 -
源码文件的分类和含义:
名称以.go为后缀,内容以Go语言代码组织的文件
多个Go源码文件是需要用代码包组织起来的
分类:命令源码文件、库源码文件,(go语言程序)测试源码文件(辅助源码文件)
命令源码文件
声明自己属于main代码包、包含无参数声明和结果声明的main函数
被安装后,相应的可执行文件会被存放到Gobin指向的目录或<当前工作区目录>/bin下
命令源码文件是GO程序的入口,但是不建议把程序都写在一个文件中
同一个代码包中强烈不建议直接包含多个命令源码文件
库源码文件
不具备命令源码文件的两个特征的源码文件
被安装后,相应的归档文件会被存放到<当前工作区目录>/pkg/<平台相关目录>下
测试源码文件 名称以_test.go为后缀
测试源码文件中至少有一个函数的名称以Test或Benchmark为前缀,并且该函数接受一个类型为*testing.T(功能测试函数)或者*.testing.B的参数(性能测试函数)
查看全部 -
工作区时放置GO源码文件的目录,一般情况下,Go源码文件都需要方到工作区中,但是对于命令源码文件来说,这不是必须的
src目录:用于存放源码文件,以代码包为组织形式
pkg目录:用于存放归档文件(名称以.a为后缀的文件)
所有归档文件都会被存放到该目录下到平台相关目录中,同样以代码包为组织形式
平台相关目录:
两个隐含到Go语言环境变量:GOOS和GOARCH
GOOS:安装到操作系统
GOARCH:计算架构
bin目录:用于存放当前工作区中到Go程序到可执行文件
两种情况bin目录没有意义
1当环境变量GOBIN已有效设置时,该目录会变当无意义
2当GOPATH的值中包含了多个工作区的路径时,必须设置GOBIN,否则无法成功安装Go程序的可执行文件
查看全部 -
go get
用于从远程代码仓库(如GitHub)上下载并安装代码包
受支持的代码版本控制系统有:Git Mercurial(hg) SVN Bazaar
指定的代码包会被下载到$GOPATH中包含的第一个工作区的src目录中
查看全部 -
用于编译代码文件或者代码包
用于 编译非命令源码文件不会产生任何结果文件
用于 编译命令源码文件会在该命令执行目录下生成一个可执行文件
执行 go build 并且不追加任何参数,它会试图把当前目录作为代码包并编译
执行改命令且以代码包的导入路径作为参数时时,该代码包及其依赖会被编译
执行该命令以若干源码文件作为参数时,只有这些文件会被编译
go build 只会编译归档文件不是最新的代码包
查看全部 -
方法查看全部
-
reader writer查看全部
-
3.2 源码下载查看全部
-
init函数的执行顺序。
同一代码包内顺序不确定。
不同代码包之间init函数的执行顺序同代码包的导入顺序相反
查看全部
举报