Bài 7: Kiểu dữ liệu trong Golang – Số thực, số phức và luận lý

Trong bài 6 chúng ta đã tìm hiểu về kiểu dữ liệu số nguyên. Trong bài này chúng ta sẽ tìm hiểu về 2 kiểu số khác là số thực (số dấu chấm động) và số phức. Sau đó chúng ta tìm hiểu về kiểu luận lý với 2 giá trị đúng và sai.

Số dấu chấm động

Chúng ta thường thấy thể hiện của số dấu chấm động dưới số thập phân nhưng đôi lúc số thập phân không thể hiện hết giá trị của số chấm động khi giá trị là số vô tỉ. Go cung cấp 2 kiểu dữ liệu cho số dấu chấm động là float32 và float64. Giá trị của chúng từ nhỏ đến rất lớn. Gói math cung cấp giá trị lớn nhất của 2 kiểu này là math.MaxFloat32 = 3.4e38 và math.MaxFloat64 = 1.8e308. 

Số float32 cung cấp độ chính xác 6 số thập phân trong khi float64 cung cấp độ chính xác đến 15 số thập phân nên số float64 được khuyến khích sử dụng bởi độ chính xác cao hơn.

Số phức

Như chúng ta đã biết, số phức có dạng a + bi với a phần thực và b là phần ảo. Go cung cấp 2 kiểu số phức: complex64 và complex128 ứng với cặp thực ảo float32 và float64. Go cung cấp hàm complex để tạo số phức với hai tham số thực và ảo, đồng thời Go cũng cung cấp hàm real và imag để lấy giá trị thực và ảo của một số phức. Ví dụ:

var x complex128 = complex(1, 2) // 1+2i 
var y complex128 = complex(3, 4) // 3+4i 
fmt.Println(x*y)                 // (-5+10i) 
fmt.Println(real(x*y))           // -5 
fmt.Println(imag(x*y))           // 10 

Go cũng hỗ trợ cách khai báo nhanh cho biến kiểu complex: x := 3 + 12i. Số phức có thể dùng phép so sánh bằng == hoặc khác !=.

Kiểu luận lý

Kiểu luận lý (boolean) có 2 giá trị là đúng (true) và sai (false). Nó thường là kết quả của phép so sánh và là điều kiện của cấu trúc if và vòng lặp for.

Có 3 phép toán dùng cho kiểu dữ liệu luận lý:

  • Phép phủ định (!): cho giá trị ngược lại, đúng thành sai, sai thành đúng. Ví dụ: a := true thì !a sẽ là false.
  • Phép và (&&): cho giá trị true khi cả 2 vế đều là true. Ví dụ: a = 2 thì (a > 0) && (a % 2 == 0) sẽ cho kết quả là true.
  • Phép hoặc (||): cho giá trị true khi chỉ cần 1 vế có giá trị true. Ví dụ: a = 2 thì (a > 0) || (a < – 3) sẽ cho kết quả là true vì vế trước có giá trị true.

Các bạn tham khảo thêm một số ví dụ mẫu ở đây. Trong bài tới, chúng ta sẽ tìm hiểu về kiểu chuỗi trong Golang

Kiểu dấu chấm động: float34 và float64.
Kiểu số phức: complex64 và complex128.
Kiểu luận lý: boolean với 2 giá trị true và false.

Write a comment
>