-
通过指针中的地址去访问原来的变量,就是所谓的指针解引用。
-
指针解引用的过程,就是把地址存入某个通用寄存器,然后用作基地址进行寻址。
-
对空指针进行解引用操作就会造成程序异常崩溃,程序代码在对指针进行解引用前,始终要确保指针非空,因而需要添加必要的判断逻辑。
-
遭遇空指针异常并非语言设计方面的缺陷,而是程序逻辑上的 Bug。
-
Go 语言中声明的变量默认都会初始化为对应类型的零值,指针类型变量都会初始化为 nil,而代码中的空指针判断逻辑能够避免空指针异常,从而是问题得到解决。
-
Go 语言实现了自动内存管理,由 GC 负责释放堆内存对象。GC 基于标记清除算法进行对象的存活分析,只有明确不可达的对象才会被释放。
网友评论