1: Map
- là một cấu trúc dữ liệu tập hợp các ánh xạ giữa các khóa(gọi là key) tham chiếu đến các giá trị của nó (gọi là value).
- Khai báo Map trong golang khi biết giá trị:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
fmt.Println(studentNameAgeMap)
}
- Kết quả: chú ý thứ tự khai báo biến và thứ tự xuất ra các biến.
map[Tom:40 hung:21 joney:24]- Khai báo Map trong golang khi không biết giá trị:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
fmt.Println(studentNameAgeMap)
}
khai báo khi chư biết được các giá trị key và value tương ứng và các key và value phải có cùng dữ liệu với nhau
studentNameAgeMap := make(map[string]int)
Chú ý : slide không được khai báo là một key .
- Lấy dữ liệu từ map ra:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
fmt.Println(studentNameAgeMap["hung"])
}
Kết quả: lấy ra value tương ứng với key là 21
- Thêm giá trị mới vào map đã khai báo:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
studentNameAgeMap["Cat"] = 25
fmt.Println(studentNameAgeMap)
}
- Kết quả : khi xuất lại map ta có : map[Cat:25 Tom:40 hung:21 joney:24]
- Cập nhật giá trị mới vào map đã khai báo:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
studentNameAgeMap["hung"] = 25
fmt.Println(studentNameAgeMap)
}
- Kết quả : khi xuất lại map ta có : map[Tom:40 hung:25 joney:24]
- Xóa giá trị mới vào map đã khai báo:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
studentNameAgeMap["hung"] = 25
delete(studentNameAgeMap, "Tom")
fmt.Println(studentNameAgeMap)
}
- Kết quả : khi xuất lại map ta có : map[hung:25 joney:24]
- Kiểm tra biến Tom còn tồn tại hay không :
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
studentNameAgeMap["hung"] = 25
delete(studentNameAgeMap, "Tom")
_, isExist := studentNameAgeMap["Tom"]
fmt.Println(isExist )
}
Kết quả xuất ra : false có nghĩa là không tồn tại trong map.
- Sử dụng hàm len để kiểm tra chiều dài của map:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
fmt.Println(len(studentNameAgeMap))
}
Kết quả : 3
- Coppy một map từ map khác ra để sử dụng:
package main
import (
"fmt"
)
func main() {
studentNameAgeMap := make(map[string]int)
studentNameAgeMap = map[string]int{
"hung": 21,
"Tom": 40,
"joney": 24,
}
coppyMap := studentNameAgeMap
fmt.Println(studentNameAgeMap)
fmt.Println(coppyMap)
}
Kết quả : xuất kết quả 2 map để xem
map[Tom:40 hung:21 joney:24]
map[Tom:40 hung:21 joney:24]=> khi thực hiện coppy map thì thực chất nó chỉ trỏ đến bộ nhớ của map mà nó coppy để thực hiện các lệnh như thay đổi giá trị hoặc xuất ra giá trị từ vùng nhớ đó.
Struct
- là một cấu trúc dữ liệu giúp cho chúng ta có thể tổng hợp lại. nó là tập hợp một kiểu dữ liệu được chúng ta định nghĩa và bên trong nó là tập hợp một số kiểu dữ liệu khác, nó có thể là tập hợp của kiểu dữ liệu nguyên thủy hoặc là tập hợp của một kiễu dữ liệu được người khác định nghĩa hay là của chính chúng ta định nghĩa.
- Khai báo struct:
package main
import (
"fmt"
)
type Student struct{
number int
name string
isMale bool
subjects []string
}
func main() {
studentA := Student {
number: 21,
name: "Le Hung",
isMale: true,
subjects: []string{
"Math",
"English",
"Computer",
},
}
fmt.Println(studentA)
}
- Xuất kết quả : {21 Le Hung true [Math English Computer]}
- Lấy ra một biến trong struct:
package main
import (
"fmt"
)
type Student struct{
number int
name string
isMale bool
subjects []string
}
func main() {
studentA := Student {
number: 21,
name: "Le Hung",
isMale: true,
subjects: []string{
"Math",
"English",
"Computer",
},
}
fmt.Println(studentA.name)
}
- Kết quả : Le Hung
0 Nhận xét