首页 > > > GO语言学习笔记(Golang)
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
特性: 并发编程,内存回收,内存分配
1.安装包下载地址为:官方网址。
2.如果打不开可以使用这个地址:中国的官方网址。
3.安装完成后,GOPATH的路径设置:官方推荐所有项目和第三方库都放在同一个GOPATH下 面,也可以将每个项目放在不同的GOPATH下面,一个文件夹里面只能有一个main,一个目录下面可以有多个目录
1.1关于包的概念:
1.同一个包下面的文件属于同一个工程文件
2.同一个包下面的package 的名字要一致
3.package的名字建议都是文件夹的名字 比如:package hello
4.main函数所在的包名必须是package main1.2导入包:
1:在包的前面加个点(.)例如: ."fmt" 指使用的时候不需要写包的名字,直接调用函数就可以: Println("hello world")
2.在包的前面加上别名,例如: a "fmt" 给包起一个别名 调用的时候: a.Println("hello")
3. 在包的前面加上下划线(_)例如: _ "fmt" 只调用该包的init函数1.3常用的命令行执行编译命令等操作:
go run -n test.go // 查看go的编译过程,生成文件
go run ./test.go // 直接编译test.go文件
go build // -n 直接编译文件生成.exe可执行文件,把可执行文件移动
go install // build以后直接install,把exe文件移动到bin目录下,
//库文件生成.a文件->pkg目录,
// main文件生成.exe文件->bin目录下
go get +包名获取远程包 //从远程获取扩展包,安装到pkg文件夹
go list // 查看当前安装的所有包1.4命名规范:
1.当命名(常量,变量,类型,函数名,结构体等)以大写字母开头,
2.大写字母说明是公有的public ,可以被外部访问到的
3.当命名为小写字母开头的时候:对包外部是不可见的,但是在整个包内部是可见可用的,private
4.采用驼峰法,首字母控制大写小写,注释说明,struct 声明和初始化采用多行
5.接口命名:type 接口名 interface{} ,一般以 er为后缀
6.常量名称:全部大写+下划线等,比如:USER_NAME 1.5其他注意事项:
1.花括号换行,会报错
2.不需要分号结尾1.6变量:
1.必须定义才能使用,
2.定义了不使用也会报错,
3.类型不同赋值会报错
4,同一个作用域内不要重复声明
5.简短定义变量的方式,:=左边至少有一个新的变量
6.函数外部定义的变量是全局变量,不能使用简短声明全局变量
7.变量赋值后会分配一个内存地址,改变这个变量的值后,内存地址还是不变1.6.1示例:
1. 方式命令变量方法:
var num int
num =30
2.方式2命名变量方法
var num int =100
3.方式3类型推断
var num ="747"
4.方式四,简短声明
num:=100
5.其他方式,多个一起声明
var (
name:=10
age:=19
)1.7常量:
1.常量定义了不使用不会报错
2.不需要使用 :=声明
3.一组常量如果默认没有初始值,那么值和上一个常量一致
4.常量数值类型只能是:布尔,数值(整数,浮点,复数),字符串类型
示例:
const PATH string =""
const PI =3.14
const CI,CL.CC =100,200,"go" // 定义多个常量
const(
NAME="AAA"
AGE=18
)1.8枚举类型:iota:
const (
A = iota //0
B //1
C //2
D = "HAHAH" //iota=3
E //4
F = 100 //iota=5
G // iota=6
H = iota //7
I //8
)1.9字符串:
1.表现为多个byte的集合,字符序列
2.使用双引号""或者 ``来包裹
3.单引号'A'可以用来包裹单个字符2.1强制转换:
1.浮点类型转化为整形后,只取整数部分
2.布尔类型不能转换为其他的类型
3.常量可以自动转换类型,强制转换类型只对变量来说
示例:
var a int8 =10
var b int16 =100
b =int(a) //使用强制类型转换来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/758/viewspace-3126973/ ,如需转载,请注明出处,否则将追究法律责任。