Menu
CoddyTech

Con trỏ nil

Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 65 trên 109.

con trỏ nil là con trỏ không trỏ đến đâu cả. Đây là giá trị không của các kiểu con trỏ.

Khai báo một con trỏ (pointer) nil:

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

Kết quả đầu ra cho thấy con trỏ có giá trị nil:

<nil>
true

Thử giải tham chiếu một con trỏ nil sẽ gây ra lỗi panic:

var ptr *int
// Dòng này sẽ khiến chương trình của bạn bị lỗi và dừng chạy
// fmt.Println(*ptr)

Luôn kiểm tra xem con trỏ có nil hay không trước khi giải tham chiếu:

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

Thử thách

Người mới

Trong thử thách này, bạn sẽ làm việc với con trỏ nil trong Go. Con trỏ nil là con trỏ không trỏ đến địa chỉ bộ nhớ nào.

Nhiệm vụ của bạn là kiểm tra xem một con trỏ có phải là nil hay không và in ra thông báo phù hợp.

Đoạn code đã có một biến con trỏ được đặt thành nil. Bạn cần thêm code để kiểm tra xem con trỏ có phải là nil hay không và in ra thông báo tương ứng.

Tự làm thử

package main

import "fmt"

func main() {
	// Đây là con trỏ nil trỏ đến một số nguyên
	var ptr *int
	
	// TODO: Kiểm tra xem ptr có phải là nil không
	// Nếu ptr là nil, in ra "The pointer is nil"
	// Nếu ptr không phải là nil, in ra "The pointer is not nil"
	
	fmt.Println("Program completed")
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Go online