ITPub博客

首页 > > > GO语言学习笔记(Golang)

GO语言学习笔记(Golang)

作者:dapan 时间:2020-07-09 17:25:37 0 删除 编辑

摘要:

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go语言学习笔记第一天:

特性: 并发编程,内存回收,内存分配

安装

1.安装包下载地址为:官方网址。

2.如果打不开可以使用这个地址:中国的官方网址。

3.安装完成后,GOPATH的路径设置:官方推荐所有项目和第三方库都放在同一个GOPATH下 面,也可以将每个项目放在不同的GOPATH下面,一个文件夹里面只能有一个main,一个目录下面可以有多个目录


1.1关于包的概念:

1.同一个包下面的文件属于同一个工程文件 
2.同一个包下面的package 的名字要一致
3.package的名字建议都是文件夹的名字 比如:package hello 
4.main函数所在的包名必须是package main

1.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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-07

  • 博文量
    4504
  • 访问量
    87279