资源网站优化排名优化,邯郸住房城乡建设厅网站,贵阳网站建设方案维护,天河区门户网站教育局板块文章目录 一、指针类型二、值类型和引用类型三、标识符的命名规范 一、指针类型
package mainimport fmtfunc main() {saylocation()}func saylocation() {// 指针类型// 基本数据类型#xff0c;变量存的是值// 用获取变量的地址// 基本数据类型在内存的布… 文章目录 一、指针类型二、值类型和引用类型三、标识符的命名规范 一、指针类型
package mainimport fmtfunc main() {saylocation()}func saylocation() {// 指针类型// 基本数据类型变量存的是值// 用获取变量的地址// 基本数据类型在内存的布局var i int 10fmt.Println(地址, i)// 指针类型变量存的是一个地址// 获取指针类型所指向的值使用*var ptr *int ii 5fmt.Println(ptr, *ptr, i)}
二、值类型和引用类型
1、值类型
变量直接存储值内存通常在栈中分配
基本数据类型int系列、float系列、bool、string、数组和结构体struct
2、引用类型
变量存储的是一个地址这个地址对应的空间才真正存储数据的值内存通常在堆上分配当没有任何变量引用这个地址时该地址对应的数据空间就成为一个垃圾
由GC来回收
指针、slice切片、map、管道chan、interface引用类型三、标识符的命名规范
Golang对各种变量、方法、函数等命名时使用的字符序列就是标识符
凡是可以自己取名的地方都交标识符标识符的命名规则
1、由16个英文字母大小写、0-9、_组成
2、不可以数字开头
3、Golang中严格区分大小写
4、标识符不可以包含空格
5、下划线本身在Go中就是个特殊的标识符称为空标识符可以代表任何其他的标识符但是他对应的值会被忽略只可以作为一个占位符
6、不能以系统保留关键字作为标识符保留关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var命名的注意事项
1、包名
保持package的名字和目录一致尽量采取有意义的包名简短有意义
2、变量名、函数名、常量名
驼峰法
3、如果变量名、函数名、常量名首字母大写则可以被其他的包访问如果首字母小写则只能在本包内访问
可以理解为
首字母大写是公有的
首字母小写是私有的package mainimport (Godemo1/modelfmt
)func main() {saylocation()model.Sayhelo()
}func saylocation() {// 指针类型// 基本数据类型变量存的是值// 用获取变量的地址// 基本数据类型在内存的布局var i int 10fmt.Println(地址, i)// 指针类型变量存的是一个地址// 获取指针类型所指向的值使用*var ptr *int ii 5fmt.Println(ptr, *ptr, i)}package modelimport fmtfunc Sayhelo() {fmt.Println(hello)}