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


  • Trùm cuối

    Số thực, phức và luận lý

    Trong bài 6 chúng ta đã tìm hiểu về kiể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ị đúngsai.

    dabbe186-7e53-4598-8d8e-8681c042873f-image.png

    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à float32float64. 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.4e38math.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: complex64complex128 ứng với cặp thực ảo float32float64. 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.

    Trong bài tới, chúng ta sẽ tìm hiểu về kiểu chuỗi.

    Tóm tắt

    • 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.


  • @admin Bác cho em hỏi khai báo const Big = 1<<100 nghĩa là ntn bác nhỉ. Thấy họ nói là Big sẽ nhận giá trị 1 và 100 số 0 ở sau.


  • Trùm cuối

    @Trương-Công-Lộc Phép dịch bit, ví dụ:

    1 << 2 tương đương với dịch 0001 sang bên trái 2 bit => 0100 = 4


 

Có thể bạn cũng quan tâm

DMCA.com Protection Status