Đi mảng
Đi mảng
Mảng được sử dụng để lưu trữ nhiều giá trị cùng loại trong một biến duy nhất, thay vì khai báo các biến riêng biệt cho từng giá trị.
Khai báo một mảng
Trong Go, có hai cách để khai báo một mảng:
1. Với từ khóa var
:
Cú pháp
var array_name = [ length ] datatype { values } // here length is defined
or
var array_name = [...] datatype { values } // here length is inferred
2. Với dấu :=
:
Cú pháp
array_name := [ length ] datatype { values } // here length
is defined
or
array_name := [...] datatype { values } //
here length is inferred
Lưu ý: Độ dài chỉ định số phần tử cần lưu trữ trong mảng. Trong Go, mảng có độ dài cố định. Độ dài của mảng được xác định bởi một số hoặc được suy ra (có nghĩa là trình biên dịch quyết định độ dài của mảng, dựa trên số lượng giá trị ).
Ví dụ về mảng
Ví dụ
Ví dụ này khai báo hai mảng (arr1 và Array2) với độ dài xác định:
package main
import ("fmt")
func main() {
var arr1 = [3]int{1,2,3}
arr2 := [5]int{4,5,6,7,8}
fmt.Println(arr1)
fmt.Println(arr2)
}
Kết quả:
[1 2 3]
[4 5 6 7 8]
Ví dụ
Ví dụ này khai báo hai mảng (arr1 và Array2) với độ dài được suy ra:
package main
import ("fmt")
func main() {
var arr1 = [...]int{1,2,3}
arr2 := [...]int{4,5,6,7,8}
fmt.Println(arr1)
fmt.Println(arr2)
}
Kết quả:
[1 2 3]
[4 5 6 7 8]
Ví dụ
Ví dụ này khai báo một mảng các chuỗi:
package main
import ("fmt")
func main() {
var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
fmt.Print(cars)
}
Kết quả:
[Volvo BMW Ford Mazda]
Truy cập các phần tử của một mảng
Bạn có thể truy cập một phần tử mảng cụ thể bằng cách tham khảo số chỉ mục.
Trong Go, chỉ mục mảng bắt đầu từ 0. Điều đó có nghĩa là [0] là phần tử đầu tiên, [1] là phần tử thứ hai, v.v.
Ví dụ
Ví dụ này cho thấy cách truy cập phần tử thứ nhất và thứ ba trong mảng giá:
package main
import ("fmt")
func main() {
prices := [3]int{10,20,30}
fmt.Println(prices[0])
fmt.Println(prices[2])
}
Kết quả:
10
30
Thay đổi các phần tử của một mảng
Bạn cũng có thể thay đổi giá trị của một phần tử mảng cụ thể bằng cách tham khảo số chỉ mục.
Ví dụ
Ví dụ này cho thấy cách thay đổi giá trị của phần tử thứ ba trong mảng giá:
package main
import ("fmt")
func main() {
prices := [3]int{10,20,30}
prices[2] = 50
fmt.Println(prices)
}
Kết quả:
[10 20 50]
Khởi tạo mảng
Nếu một mảng hoặc một trong các phần tử của nó chưa được khởi tạo trong mã, nó sẽ được gán giá trị mặc định thuộc loại của nó.
Mẹo: Giá trị mặc định cho int là 0 và giá trị mặc định cho chuỗi là "".
Ví dụ
package main
import ("fmt")
func main() {
arr1 := [5]int{} //not initialized
arr2 := [5]int{1,2} //partially initialized
arr3 := [5]int{1,2,3,4,5} //fully initialized
fmt.Println(arr1)
fmt.Println(arr2)
fmt.Println(arr3)
}
Kết quả:
[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
Chỉ khởi tạo các phần tử cụ thể
Chỉ có thể khởi tạo các phần tử cụ thể trong một mảng.
Ví dụ
Ví dụ này chỉ khởi tạo phần tử thứ hai và thứ ba của mảng:
package main
import ("fmt")
func main() {
arr1 := [5]int{1:10,2:40}
fmt.Println(arr1)
}
Kết quả:
[0 10 40 0 0]
Ví dụ giải thích
Mảng trên có 5 phần tử.
-
1:10
có nghĩa là: gán10
cho chỉ số mảng1
(phần tử thứ hai). -
2:40
có nghĩa là: gán40
cho chỉ số mảng2
(phần tử thứ ba).
Tìm chiều dài của một mảng
Hàm len()
được sử dụng để tìm độ dài của một mảng:
Ví dụ
package main
import ("fmt")
func main() {
arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"}
arr2 := [...]int{1,2,3,4,5,6}
fmt.Println(len(arr1))
fmt.Println(len(arr2))
}
Kết quả:
4
6