第2章 变量与数据类型-复杂数据类型

指针

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

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


【2】指针变量:

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.* 根据地址取值

指针细节

【1】可以通过指针改变指向值

package main

import "fmt"

func main(){
	var age int = 10
	fmt.Println(age)

	var ptr *int = &age
	*ptr = 20
	fmt.Println(*ptr)
}

【2】指针变量接收的一定是地址值


【3】指针变量的地址不可以不匹配



PS:*float64意味着这个指针指向的是float64类型的数据,但是&num对应的是int类型的不可以。


【4】基本数据类型(又叫值类型),都有对应的指针类型,形式为*数据类型,

比如int的对应的指针就是*int, float32对应的指针类型就是*float32。依次类推。

标识符的使用

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

【2】什么是标识符?

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

【3】标识符定义规则:

1.三个可以(组成部分):数字,字母,下划线_

PS:字母含义比较宽泛,使用汉字也是可以的:

var 姓名 string = "菜园子"
fmt.Println(姓名) 

不建议使用,建议用字母:26字母

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

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

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




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

var int int = 10
fmt.Println(int)

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

7.起名规则:

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

1.为什么之前在定义源文件的时候,一般我们都用package main 包 ?

main包是一个程序的入口包,所以你main函数它所在的包建议定义为main包,如果不定义为main包,那么就不能得到可执行文件。



2.尽量保持package的名字和目录保持一致


和标准库不要冲突



(2)变量名、函数名、常量名 : 采用驼峰法。

就是单词按照大写区分开

var stuNameDetail string = 'lili'

(3)如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;

如果首字母小写,则只能在本包中使用 (利用首字母大写小写完成权限控制)

注意:

import导入语句通常放在文件开头包声明语句的下面。

导入的包名需要使用双引号包裹起来。

包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔。

需要配置一个环境变量:GOPATH


代码展示:

package test

var StuName string  = "菜园子"
package main //声明为main包,程序的入口
// package aaaa

// package fmt

import (
	"fmt"
	"gocode/testproject01/unit02/demo17/test"
)

//程序的入口函数
func main()  {
	var age int = 23
	fmt.Println(age)

	fmt.Println(test.StuName)
}


关键字和预定义标识符

【1】关键字就是程序发明者规定的有特殊含义的单词,又叫保留字。

go语言中一共有25个关键字。


【2】预定义标识符:一共36个预定标识符,包含基础数据类型和系统内嵌函数


参考源码:https://gitee.com/cyzgw/golang-demo.git

参考原文:cyz

展开阅读全文

更新时间:2024-07-26

标签:变量   数据类型   标识符   指针   函数   定义   关键字   类型   地址   建议

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top