【愚公系列】2022年07月 Go教学课程 013-常量、指针
【摘要】 一、常量 1.常量的定义常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的定义格式:const identifier [type] = value你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。定义一个 Go 语言常量非常简单,它和变量的声明方式类似,将 var 关键字替换成 ...
一、常量
1.常量的定义
常量是一个简单值的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
常量的定义格式:
const identifier [type] = value
你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。
定义一个 Go 语言常量非常简单,它和变量的声明方式类似,将 var 关键字替换成 const 即可,代码如下:
const pi = 3.141592
const name = "愚公搬代码"
2.常量的使用
package main
import (
"fmt"
)
const (
pi = 3.141592
name = "愚公搬代码"
)
func main() {
fmt.Println(pi, name)
}
二、指针
1.指针的定义
在计算机中,所有的数据都是存放在存储器中的,不同的数据类型占有的内存空间的大小各不相同。内存是以字节为单位的连续编址空间,每一个字节单元对应着一个独一的编号,这个编号被称为内存单元的地址。比如:int 类型占 4 个字节,char 类型占 1 个字节等。系统在内存中,为变量分配存储空间的首个字节单元的地址,称之为该变量的地址。地址用来标识每一个存储单元,方便用户对存储单元中的数据进行正确的访问。在高级语言中地址形象地称为指针。
2.指针的使用
每个变量在程序运行时都有一个地址,这个地址代表变量在内存中的位置。
Go 语言中,通过 & 操作符对变量进行 “取地址” 操作,格式如下:
p := &v // v 的类型为 T
上面代码中,v 表示被取地址的变量,取到的地址用变量 p 进行接收, p 的类型为 “*T”, 称为 T 的指针类型。*代表指针。
案例如下:
package main
import "fmt"
func main() {
var name string = "愚公搬代码"
// 获取字符串的指针, p 类型为*string
p := &name
// 打印变量 p 的类型
fmt.Printf("p type: %T\n", p)
// 打印变量 p 的指针地址
fmt.Printf("address: %p\n", p)
// 通过 * 对指针进行取值操作
value := *p
// 取值后的类型
fmt.Printf("value type: %T\n", value)
// 指针取值后指向变量的值
fmt.Printf("value type: %s\n", value)
}
- &, 取地址操作符,功能是取出变量在内存中的地址;
- *,取值操作符,功能是取出地址指向的实际值。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)