写点什么

【愚公系列】2022 年 7 月 Go 教学课程 013- 常量、指针

作者:愚公搬代码
  • 2022 年 7 月 19 日
  • 本文字数:889 字

    阅读完需:约 3 分钟

一、常量

1.常量的定义

常量是一个简单值的标识符,在程序运行时,不会被修改的量。


常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。


常量的定义格式:


const identifier [type] = value
复制代码


你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。


定义一个 Go 语言常量非常简单,它和变量的声明方式类似,将 var 关键字替换成 const 即可,代码如下:


const pi = 3.141592const 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)}
复制代码



  • &, 取地址操作符,功能是取出变量在内存中的地址;

  • *,取值操作符,功能是取出地址指向的实际值。

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022.03.01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年7月 Go教学课程 013-常量、指针_7月月更_愚公搬代码_InfoQ写作社区