复杂数据类型

本文详细介绍了Go语言中指针的内存地址获取、指针变量的使用、基本数据类型与指针类型的关系,以及标识符的定义规则和注意事项,包括关键字和预定义标识符的含义。
摘要由CSDN通过智能技术生成

指针

【1】基本数据类型和内存:

package main
import (
	"fmt"
)

func main(){
	var age int = 18
	//&符号+变量  就可以获取这个变量内存的地址
	fmt.Println(&age) //0xc0000a2058
		
}

在这里插入图片描述

内存:
在这里插入图片描述

指针变量:

package main
import (
	"fmt"
)

func main(){
	var age int = 18
	//&符号+变量  就可以获取这个变量内存的地址
	fmt.Println(&age) //0xc0000a2058

	//定义一个指针变量:
	//var代表要声明一个变量
	//ptr指针变量的名字
	//ptr对应的类型是:*int是一个指针类型(可以理解为指向int类型的指针)
	//&age就是一个地址,是ptr变量的具体的值
	var ptr *int= &age
	fmt.Println(ptr)
	fmt.Println("ptr本身这个存储空间的地址为:",&ptr)

	//想获取ptr这个指针或者这个地址指向的那个数据:
	fmt.Printf("ptr指向的数值为:%v",*ptr)//ptr指向的数值为:18
}

在这里插入图片描述

内存:
在这里插入图片描述

总结:

  1. &取内存地址
  2. *根据地址取值

指针的4个细节

【1】可以通过指针改变指向值
在这里插入图片描述

【2】指针变量接收的一定是地址值
在这里插入图片描述

【3】指针变量的地址不可以不匹配
在这里插入图片描述
PS:*float32意味着这个指针指向的是float32类型的数据,但是&num对应的是int类型的不可以。

【4】基本数据类型(又叫值类型),都有对应的指针类型,形式为数据类型,
比如int的对应的指针就是
int,float32对应的指针类型就是*float32。依次类推。

标识符的使用

【1】标识符:读音biao zhi fu

【2】什么是标识符?
变量,方法等,只要是起名字的地方,那个名字就是标识符
var age int = 19
var price float64 = 9.8

【3】标识符定义规则:
1.三个可以(组成部分):数字,字母,下划线_

PS:字母含义比较宽泛,使用汉字也是可以的:
在这里插入图片描述
不建议使用,建议用字母:26字母

2.四个注意:
不可以以数字开头,严格区分大小写,不能包含空格,不可以使用Go中的保留关键字

3.见名知意:增加可读性

4.下划线"_"本身在Go中是一个特殊的标识符,称为空标识符。
可以代表任何其它的标识符,但是它对应的值会被忽略(比如:忽略某个返回值)。
所以仅能被作为占位符使用,不能单独作为标识符使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.可以用如下形式,但是不建议:
var int int=10(int,float32,float64等不算是保留关键字,但是也尽量不要使用)
在这里插入图片描述

6.长度无限制,但是不建议太长asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasfd

7.起名规则:

(1)包名:
尽量保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,和标准库不要冲突

  • 1.为什么之前在定义源文件的时候,一般我们都用packagemain包?
    main包是一个程序的入口包,所以你main函数它所在的包建议定义为main包,如果不定义为main包,那么就不能得到可执行文件。
    在这里插入图片描述
    在这里插入图片描述

  • 2.尽量保持package的名字和目录保持一致
    在这里插入图片描述

  • 3.和标准库不要冲突
    在这里插入图片描述

(2)变量名、函数名、常量名:采用驼峰法。
就是单词按照大写区分开
var stuNameDetail string =“lili"

(3)如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;
如果首字母小写,则只能在本包中使用 (利用首字母大写小写完成权限控制)

注意:
import导入语句通常放在文件开头包声明语句的下面。
导入的包名需要使用双引号包裹起来。
包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔。

需要配置一个环境变量:GOPATH
在这里插入图片描述

代码展示:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关键字和预定义标识符

【1】关键字就是程序发明者规定的有特殊含义的单词,又叫保留字。
go语言中一共有25个关键字。
在这里插入图片描述

【2】预定义标识符:一共36个预定标识符,包含基础数据类型和系统内嵌函数
在这里插入图片描述

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值