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.
Thử thách
Người mới&) 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)
}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
4Toán tử so sánh và logic
Toán tử so sánh, phần 1Toán tử so sánh, phần 2Toán tử AND logicToán tử OR logicToán tử NOT logicCơ bản về thứ tự ưu tiên của toán tửÔn tập: thực hiện phép so sánh7Luồng điều khiển: vòng lặp
Giải thích vòng lặp `for`Vòng lặp `for` cơ bảnVòng lặp `for` chỉ có điều kiệnTừ khóa `break`Từ khóa `continue`Vòng lặp lồng nhauÔn tập: lặp lại hành động2Biến và các kiểu dữ liệu cơ bản
Biến là gìSuy luận kiểu với `:=`Số nguyên (int)Số dấu phẩy độngGiá trị BooleanChuỗiGiá trị 0Hằng sốQuy ước đặt tênÔn tập: biến và kiểu dữ liệu5Đầu vào/đầu ra cơ bản
Đầu ra có định dạngĐộng từ định dạngIn các kiểu dữ liệuNhận đầu vào cơ bản từ người dùngÔn tập: đầu vào và đầu ra8Hàm
Tìm hiểu về hàmKhai báo hàmGọi hàmTham số của hàmTrả về một giá trịTrả về nhiều giá trịGiá trị trả về có tênNhững điều cơ bản về phạm vi của hàmÔn tập: Tạo code có thể tái sử dụng3Toán tử cơ bản
Toán tử số họcToán tử chiaToán tử moduloToán tử gánToán tử gán kết hợpTăng và giảmÔn tập: Tính toán6Luồng điều khiển: câu lệnh điều kiện
Câu lệnh `if`Từ khóa `else`Từ khóa `else if`Biến bị che khuất trong `if`Khởi tạo biếnCâu lệnh `switch``switch` có biểu thức`switch` không có biểu thứcTừ khóa `fallthrough`Ôn tập: đưa ra quyết địnhTự luyện tập: Trình biên dịch Go online