Menu
CoddyTech

Toán tử lấy địa chỉ

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 62 trên 109.

Toán tử lấy địa chỉ (&) lấy địa chỉ bộ nhớ của một biến. Đây là cách chúng ta tạo con trỏ trong Go.

Tạo một biến và lấy địa chỉ bộ nhớ của biến đó:

func main() {
    number := 42
    addressOfNumber := &number
    
    fmt.Println("Value:", number)
    fmt.Println("Address:", addressOfNumber)
}

Đầu ra hiển thị giá trị và địa chỉ bộ nhớ của nó:

Value: 42
Address: 0xc000018030

Địa chỉ (như 0xc000018030) là một số thập lục phân biểu thị vị trí bộ nhớ lưu trữ giá trị. Địa chỉ này có thể khác nhau mỗi lần bạn chạy chương trình.

challenge icon

Thử thách

Người mới
Trong thử thách này, bạn sẽ luyện tập sử dụng toán tử lấy địa chỉ (&) trong Go. Toán tử lấy địa chỉ trả về địa chỉ bộ nhớ của một biến, tức là nơi lưu giá trị của biến trong bộ nhớ máy tính.

Nhiệm vụ của bạn là dùng toán tử lấy địa chỉ để lấy địa chỉ bộ nhớ của biến đã cho và lưu địa chỉ đó vào biến con trỏ đã được khai báo.

Tự làm thử

package main

import "fmt"

func main() {
	// Đây là biến (variable) mẫu của chúng ta
	name := "Gopher"
	
	// Dòng này khai báo một biến con trỏ để lưu địa chỉ của một chuỗi (string)
	var namePointer *string
	
	// TODO: Dùng toán tử (operator) lấy địa chỉ (&) để lấy địa chỉ bộ nhớ của 'name'
	// và lưu địa chỉ đó vào biến 'namePointer'
	
	// In ra giá trị (value) mà con trỏ trỏ tới
	fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}
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