0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#【愚公系列】2022年08月 Go教学课程 013-常量、指针

一、常量

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)
}

在这里插入图片描述

  • &, 取地址操作符,功能是取出变量在内存中的地址;
  • *,取值操作符,功能是取出地址指向的实际值。
举报

相关推荐

0 条评论