1.package
package是最基本的分发单位和工程管理中依赖关系的体现。
每个语言源代码文件开头都拥有一个package声明,表示源码文件所属代码包。
要生成go语言可执行程序,必须要有main的pakcage包,求必须在该包下,且必须在该包下有main函数。
同一个路径下只能存在一个pakcage,一个package可以拆成多个源文件组成。
2.import
1.import语句可以导入源码文件所依赖的package包
* 不得导入源码文件中没有用到的package,否则GO语言编译器会报错
* import 主要语法两种 是否加括号
2.import导入包的顺序:
如果一个main导入其他包,包将被顺序导入,
如果导入的包中以来其他包(包B),会首先导入B包,然后初始化B包中的常量与变量,
最后如果B中有init,会自动执行initial();所有包到入完成之后才会对main中常量和变量进行初始化,然后执行main中的 init函数(如果存在),最后执行main函数;
3.import别名,“.”,"_"
别名操作的含义是:将导入的包命名为另一个容易记忆的别名。
下划线(—)操作的含义是:导入该报,但不导入整个包,而是执行该包中的init函数,因此无法通过包名来调用包中的其他函数。使用下划线(—)操作往往是为了注册包里的引擎,让外部可以方便地使用
go语言:
数据类型:整型、浮点型、字符串型、布尔型、复数
派生类型:指针、数组、结构化、channel、函数、切片、接口、map
Go语言的变量和常量
变量声明,初始化与赋值
单个变量的声明和赋值:
1.变量的声明格式:var<变量名称>[变量类型]
2.变量的赋值格式:<变量名称>=<值,表达式,函数等>
3.声明和赋值同时进行:var<变量名称>[变量类型]=<值,表达式,函数等>
4.分组声明格式:
var( i int
j float32
name string
)
变量的类型转换
注意:在进行类型转换的时候,相互转换的类型必须兼容的情况下才可以
变量可见性规则:
大写字母开头的变量是可导出的,也就是其它包可以读取的,是公用变量;
小写字母开头的就是不可导出的,是私有变量
常量的定义充形式上可分为显示和隐式:
显示:const identifier [type] =value
隐式 :const identifier =value(通常叫无类型常量)
常量可以提使用内置表达式定义:如:len(),unsafe.Sizeof()等
常量范围目前只支持布尔型、数字型、(整数型、浮点型和复数)和字符串型
常量也可以单行声明并赋值:
const apple,banana string=”苹果“,”香蕉“
const a,b=1,"你好"(隐式声明常量会自动识别数据类型)
UTF8每个汉字占三个字节大小
iota特殊常量的使用:
iota在const关键字出现时将会被重置为0
const中每新增一行常量声明将使iota计数一次
iota常见使用法:
跳值使用法
插队使用法
表达式隐式使用法
单行使用法
import "fmt"
const a int32 = iota
const b = iota
const (
d = iota //0
e = iota //1
_ = iota //下划线相当于把值给垃圾桶 2 跳值使用
f = iota //3
g = 3.14 //本来为4 赋值为3.14
h = iota //5
)
const(
m = iota * 2
n //隐试继承表达式 *2
s
)
func main() {
fmt.Print("a的常量值: ")
fmt.Print(a)
fmt.Print("\n")
fmt.Print("b的常量值: ")
fmt.Print(b)
fmt.Print("\n")
fmt.Print("d的常量值: ")
fmt.Print(d)
fmt.Print("\n")
fmt.Print("e的常量值: ")
fmt.Print(e)
fmt.Print("\n")
fmt.Print("f的常量值: ")
fmt.Print(f)
fmt.Print("\n")
fmt.Print("g的常量值: ")
fmt.Print(g)
fmt.Print("\n")
fmt.Print("h的常量值: ")
fmt.Print(h)
fmt.Print("\n")
fmt.Print("m的常量值: ")
fmt.Print(m)
fmt.Print("\n")
fmt.Print("n的常量值: ")
fmt.Print(n)
fmt.Print("\n")
fmt.Print("s的常量值: ")
fmt.Print(s)
}
a的常量值: 0
b的常量值: 0
d的常量值: 0
e的常量值: 1
f的常量值: 3
g的常量值: 3.14
h的常量值: 5
m的常量值: 0
n的常量值: 2
s的常量值: 4
GO语言运算符--算术运算符 代码
++;--在GO中只能放在后面,如a++;b--
当a=2;b=3
GO语言 运算符--关系运算符代码
当a=2;b=2
关系运算符结果只有真假(true;false)
控制语句:goto ; break ;continue
goto :跳到指定的代码执行。