Slices trong Golang: Cách sử dụng và ví dụ

Bài viết này hướng dẫn cách sử dụng `slices` trong Golang, bao gồm cách khai báo, truy cập, và thao tác với slices - một tính năng linh hoạt giúp quản lý mảng hiệu quả hơn trong Go.

Trong Golang, slices là một phần đặc biệt của mảng, cho phép bạn làm việc với các phân đoạn của mảng mà không cần tạo ra bản sao của nó. Slices linh hoạt và dễ quản lý hơn so với mảng truyền thống, đặc biệt khi bạn cần thao tác với các dữ liệu động.

Mã Golang:

package main

import "fmt"

func main() {
    // Khai báo mảng ban đầu
    arr := [5]int{1, 2, 3, 4, 5}

    // Tạo slice từ mảng arr
    slice := arr[1:4]

    // In ra các phần tử của slice
    fmt.Println("Slice:", slice)

    // Thay đổi phần tử của slice
    slice[0] = 10

    // In ra mảng ban đầu sau khi thay đổi slice
    fmt.Println("Mảng ban đầu:", arr)

    // Thêm phần tử vào slice bằng cách sử dụng append
    slice = append(slice, 6)

    // In ra slice sau khi append
    fmt.Println("Slice sau khi append:", slice)
}

Giải thích chi tiết từng dòng code:

  1. arr := [5]int{1, 2, 3, 4, 5}: Tạo một mảng có 5 phần tử.
  2. slice := arr[1:4]: Tạo một slice từ mảng arr, lấy các phần tử từ vị trí 1 đến 3 (không bao gồm vị trí 4).
  3. fmt.Println("Slice:", slice): In ra các phần tử của slice.
  4. slice[0] = 10: Thay đổi giá trị phần tử đầu tiên của slice.
  5. fmt.Println("Mảng ban đầu:", arr): In ra mảng ban đầu để thấy rằng slice thực sự chia sẻ dữ liệu với mảng.
  6. slice = append(slice, 6): Thêm một phần tử mới vào slice bằng hàm append.
  7. fmt.Println("Slice sau khi append:", slice): In ra slice sau khi thêm phần tử mới.

Lời khuyên:

  • Slices chia sẻ bộ nhớ với mảng ban đầu, do đó, nếu bạn thay đổi giá trị trong slice, mảng cũng sẽ bị ảnh hưởng.
  • Khi sử dụng append, nếu slice không đủ bộ nhớ, nó sẽ tạo một mảng mới để lưu trữ dữ liệu.
Tags: Golang, Slices


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Cách DELETE dữ liệu từ database MySQL bằng Golang

Hướng dẫn cách kết nối và xóa dữ liệu từ một bảng trong database MySQL bằng ngôn ngữ lập trình Golang.
Xác thực JSON Web Token (JWT) với Golang

Hướng dẫn cách sử dụng JSON Web Token (JWT) để xác thực người dùng trong ứng dụng Golang. Bài viết sẽ trình bày chi tiết cách tạo, ký và xác minh token JWT để bảo mật API.
Hướng dẫn đọc nội dung file Excel bằng Golang

Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng Golang, sử dụng thư viện excelize với các bước cài đặt và ví dụ minh họa cụ thể.
Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong Golang

Hướng dẫn chi tiết từng bước để xây dựng ứng dụng chat đơn giản sử dụng Socket.IO trong Golang, giúp bạn hiểu cách thức hoạt động của giao tiếp thời gian thực trong các ứng dụng web.
Cách lấy dữ liệu JSON từ API bằng Golang

Bài viết này hướng dẫn cách lấy dữ liệu JSON từ API sử dụng ngôn ngữ lập trình Golang, giúp bạn hiểu rõ hơn về cách tương tác với các dịch vụ web.
Cách INSERT dữ liệu vào database MySQL bằng Golang

Hướng dẫn cách sử dụng Prepared Statements trong Golang để thực hiện thao tác INSERT dữ liệu vào database MySQL với nhiều tham số.
Hướng dẫn tạo form upload nhiều hình ảnh bằng Golang

Hướng dẫn chi tiết cách tạo form để upload nhiều hình ảnh cùng lúc trong Golang bằng cách sử dụng thư viện `net/http`.
Cách chuyển đổi chuỗi Markdown sang HTML bằng Golang

Hướng dẫn chi tiết cách chuyển đổi một chuỗi Markdown sang HTML trong Golang bằng cách sử dụng thư viện `blackfriday`.
Cách so sánh hai slice byte trong Golang

Bài viết này hướng dẫn cách so sánh hai slice byte trong Golang. Golang cung cấp các phương thức tích hợp và thư viện giúp việc so sánh hai slice byte trở nên dễ dàng và chính xác.
Cách truyền Authentication Header Token khi POST dữ liệu tới API bằng Golang

Hướng dẫn cách truyền Authentication Header Token khi gửi yêu cầu POST dữ liệu tới API bằng Golang. Bài viết này sẽ giúp bạn hiểu cách làm việc với HTTP request, thêm token vào Header để xác thực và gửi dữ liệu tới API.

Đã thêm vào giỏ hàng