Go

Cấu trúc dữ liệu Go

Arrays, slices, maps, structs, pointers, make vs new, giá trị nil

20 câu hỏi phỏng vấn·
Junior
1

Slice trong Go là gì?

Câu trả lời

Slice là một khung nhìn động trên một array nền tảng, cho phép thao tác với các chuỗi phần tử có độ dài thay đổi. Khác với array vốn có kích thước cố định được xác định lúc biên dịch, slice có thể tăng hoặc giảm động thông qua các thao tác như append. Sự linh hoạt này khiến nó trở thành cấu trúc dữ liệu tuần tự được dùng phổ biến nhất trong Go để lưu trữ các tập hợp phần tử đồng nhất.

2

Sự khác biệt chính giữa array và slice trong Go là gì?

Câu trả lời

Sự khác biệt cơ bản nằm ở kích thước: array có kích thước cố định được xác định lúc biên dịch và là một phần của chính kiểu dữ liệu, trong khi slice có kích thước động có thể thay đổi lúc chạy. Sự khác biệt này nghĩa là hai array có kích thước khác nhau được coi là các kiểu không tương thích, trong khi mọi slice cùng kiểu phần tử đều tương thích. Do đó slice linh hoạt hơn và được dùng phổ biến hơn trong mã Go hiện đại.

3

Làm thế nào để tạo một slice rỗng trong Go?

Câu trả lời

Cú pháp literal với cặp ngoặc vuông rỗng theo sau là cặp ngoặc nhọn rỗng là cách thành ngữ để tạo một slice rỗng đã được khởi tạo. Cách này tạo ra một slice có độ dài 0 nhưng không nil, sẵn sàng nhận phần tử qua append. Khác với một khai báo đơn giản tạo ra slice nil, việc khởi tạo tường minh này đảm bảo một slice dùng được ngay mà không có nguy cơ hành vi bất ngờ khi thêm phần tử.

4

Nên dùng hàm nào để khởi tạo một slice với dung lượng cụ thể?

5

Điều gì xảy ra khi thêm một phần tử vào slice đã đạt đến dung lượng tối đa?

+17 câu hỏi phỏng vấn

Nắm vững Go cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí