Go Tip02 指针类型 、值类型和引用类型 、标识符的命名规范

一、指针类型

package main

import "fmt"

func main() {
	saylocation()

}

func saylocation() {
	//	指针类型
	// 基本数据类型,变量存的是值
	// 用&获取变量的地址
	//	基本数据类型在内存的布局
	var i int = 10

	fmt.Println("地址", &i)
	// 指针类型变量存的是一个地址
	// 获取指针类型所指向的值,使用*
	var ptr *int = &i
	i = 5
	fmt.Println(ptr, *ptr, &i)

}

二、值类型和引用类型

1、值类型
变量直接存储值,内存通常在栈中分配
基本数据类型int系列、float系列、boolstring、数组和结构体struct
2、引用类型
变量存储的是一个地址,这个地址对应的空间才真正存储数据的值,内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾
由GC来回收
指针、slice切片、map、管道chaninterface引用类型

三、标识符的命名规范

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 main

import (
	"Godemo1/model"
	"fmt"
)

func main() {
	saylocation()
	model.Sayhelo()
}

func saylocation() {
	//	指针类型
	// 基本数据类型,变量存的是值
	// 用&获取变量的地址
	//	基本数据类型在内存的布局
	var i int = 10

	fmt.Println("地址", &i)
	// 指针类型变量存的是一个地址
	// 获取指针类型所指向的值,使用*
	var ptr *int = &i
	i = 5
	fmt.Println(ptr, *ptr, &i)

}
package model

import "fmt"

func Sayhelo() {
	fmt.Println("hello")

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值