Menu
CoddyTech

nil 指针

本课属于 Coddy GO 学习旅程的“基础知识”单元。第 65 课,共 109 课。

nil 指针是一个不指向任何内容的指针。它是指针类型的零值。

声明一个 nil 指针:

var ptr *int
fmt.Println(ptr)
fmt.Println(ptr == nil)

输出显示指针为 nil:

<nil>
true

尝试解引用 nil 指针会导致程序崩溃:

var ptr *int
// 这会导致你的程序崩溃。
// fmt.Println(*ptr)

解引用指针前,始终检查它是否为 nil:

if ptr != nil {
    fmt.Println(*ptr)
}
challenge icon

挑战

入门

在这个挑战中,你将学习 Go 中的 nil 指针。nil 指针是不指向任何内存地址的指针。

你的任务是检查指针是否为 nil,并打印相应的消息。

代码中已经有一个设为 nil 的指针变量。你需要添加代码来检查指针是否为 nil,并相应地打印消息。

亲手试试

package main

import "fmt"

func main() {
	// 这是一个指向整数的 nil 指针
	var ptr *int
	
	// TODO: 检查 ptr 是否为 nil
	// 如果它为 nil,就打印 "The pointer is nil"
	// 如果它不为 nil,就打印 "The pointer is not nil"
	
	fmt.Println("Program completed")
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Go 在线编译器