本文主要是介绍【go语言实践】基础篇二 -- 值类型、命名规范、导入包及go指针,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
golang中值类型和引用类型
go中值类型变量直接存储值,内存通常在栈中分配,引用类型变量存储的是一个地址,这个地址对应的对应的空间才真正存储数据,当没有任何变量引用该地址时,该地址对应的数据空间就会被go的GC(垃圾回收机制)回收。开发人员无需关注内存回收问题。
- 值类型,这类包含基本的数据类型,int、float、bool、string及数组和结构体struct
- 引用类型:指针、slice切片、map、管道channel、interface等
go语言标识符命名规则
- 26个英文字母大小写,0-9,_组成
- 数字不可以开头
- 严格区分大小写
- 标识符不能包含空格
- 下划线"_"本身在go中是一个特殊的标识符,称为空表示符,可以代表任意其他字符,它对应的值会被忽略,所以仅能作为占位符使用,不能作为标识符使用(只用_时不行)
- 不能一系统保留关键字作为标识符
go语言包命名规范
- 包名与目录尽量保持一致,不要与标准库冲突
- 变量名、函数名、常量名通常采用驼峰写法
- 如果变量名、函数名、常量名首字母大写,可以被其他包访问,如果首小写,则只能在本包使用。go语言中没有显示定义private、public的概念。
go语言引入自己编写的包
假设我们在src目录下,创建了go_code/test/demo1目录,go源文件存放在demo1目录下,那么我们想在其他目录下引入该包,可以这样写:
import ("fmt""go_code/test/demo1"
)
我们不需要写全绝对路径,在我们已经配置了系统环境变量GOPATH的情况下,也不用写src,go默认会给我们加src
go语言指针
go派生数据类型总览
- 指针
- 数组
- 结构体
- 管道(channel)
- 函数
- 切片(slice)
- 接口
- map
go中所有值类型都有对应的指针类型,形式都为*type,type为具体的数据类型。值类型包括基本数据类型、数组、结构体
声明一个int类型指针:
var ptr *int
我们不能将一个整形的地址赋值给一个double类型的指针
这篇关于【go语言实践】基础篇二 -- 值类型、命名规范、导入包及go指针的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!