Câu hỏi phỏng vấn Go lang
Câu hỏi

Khi nào thời gian chạy của Go cấp phát bộ nhớ từ heap, và khi nào từ stack?

Câu trả lời

Trong Go, quyết định cấp phát bộ nhớ từ heap hay stack phụ thuộc vào kết quả của quá trình phân tích thoát (escape analysis) mà trình biên dịch Go thực hiện. Quá trình này xác định liệu một biến có thể "thoát" ra khỏi phạm vi mà nó được khai báo hay không.

  • Cấp phát từ Stack: Nếu trình biên dịch Go xác định rằng một biến chỉ được sử dụng trong phạm vi mà nó được khai báo (ví dụ, nó chỉ được sử dụng bên trong một hàm mà không được truyền ra ngoài hàm đó), biến đó sẽ được cấp phát trên stack. Stack là một vùng bộ nhớ có kích thước cố định được phân bổ cho mỗi gorouti...
expert

expert

Gợi ý câu hỏi phỏng vấn

middle

Go có exceptions không?

junior

Goroutines là gì?

middle

Làm thế nào để nối chuỗi một cách hiệu quả trong Go?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào