Đầu ra có định dạng
Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 29 trên 109.
Hãy cùng học cách định dạng đầu ra trong Go bằng hàm fmt.Printf(). Hàm này cho phép chúng ta hiển thị các giá trị theo định dạng cụ thể bằng cách sử dụng các dấu giữ chỗ.
Trước tiên, hãy tạo một chương trình định dạng các kiểu dữ liệu khác nhau bằng cách dùng ký hiệu giữ chỗ:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Sau khi chạy đoạn code này, dòng chữ "Name: Gopher, Age: 5, Height: 1.5" sẽ hiển thị trên màn hình. Các phần giữ chỗ trong chuỗi của chúng ta sẽ được thay bằng giá trị thực của các biến.
Hãy cùng tìm hiểu chức năng của từng ký hiệu giữ chỗ:
// %s được thay bằng giá trị chuỗi (string) (name)
// %d được thay bằng giá trị số nguyên (integer) (age)
// %.1f được thay bằng giá trị số thực (float) hiển thị 1 chữ số thập phân (height)
// %t được thay bằng giá trị Boolean (true hoặc false)
// %c được thay bằng một ký tự (character) (một rune như 'A')\n ở cuối chuỗi định dạng là một ký tự thoát giúp chuyển con trỏ xuống dòng mới, giống như khi nhấn Enter. Ký tự này phải nằm bên trong dấu ngoặc kép, không có khoảng trắng trước dấu ngoặc kép đóng, nếu không đầu ra sẽ xuất hiện khoảng trắng thừa.
Hàm (function) fmt.Printf() thay thế từng chỗ giữ chỗ bằng biến tương ứng mà chúng ta cung cấp sau chuỗi định dạng. Thứ tự các biến phải khớp với thứ tự các chỗ giữ chỗ.
Bây giờ, hãy thử một ví dụ khác với các kiểu định dạng khác nhau:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)Sau khi chạy đoạn code này, dòng chữ "Pi: 3.14, Percentage: 75.0%, Letter: A" sẽ hiển thị trên màn hình. Lưu ý rằng %.2f chỉ hiển thị 2 chữ số thập phân cho pi, và chúng ta nhân phần trăm với 100 để hiển thị dưới dạng giá trị phần trăm.
Cũng hãy chú ý đến %% trong chuỗi định dạng. Đây là một chuỗi thoát đặc biệt, dùng để in ra dấu % theo nghĩa đen. Một dấu % sẽ được xem là phần bắt đầu của một chỗ giữ chỗ, vì vậy chúng ta dùng %% mỗi khi muốn hiển thị ký hiệu phần trăm thực sự trong đầu ra.
Thử thách
DễTrong thử thách này, bạn sẽ luyện tập cách dùng đầu ra có định dạng trong Go với hàm `fmt.Printf()`.
Bạn có thông tin về một sản phẩm cần hiển thị theo định dạng cụ thể bằng các động từ định dạng. Các biến đã được định nghĩa sẵn cho bạn.
Nhiệm vụ của bạn là dùng `fmt.Printf()` với các động từ định dạng phù hợp để hiển thị thông tin sản phẩm:
- Dùng `%s` cho chuỗi
- Dùng `%d` cho số nguyên
- Dùng `%.2f` cho số thực có 2 chữ số thập phân
- Dùng `%t` cho giá trị boolean
Hiển thị thông tin sản phẩm chính xác như trong đầu ra mong đợi.
Tự làm thử
package main
import "fmt"
func main() {
// Thông tin sản phẩm
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: Dùng fmt.Printf() với các ký hiệu định dạng để hiển thị thông tin sản phẩm:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// Gợi ý: Dùng %s cho chuỗi, %d cho số nguyên, %.2f cho số thực, %t cho giá trị boolean
// Nhớ thêm \n vào cuối mỗi dòng để định dạng đúng
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử so sánh và logic
Toán tử so sánh, phần 1Toán tử so sánh, phần 2Toán tử AND logicToán tử OR logicToán tử NOT logicCơ bản về thứ tự ưu tiên của toán tửÔn tập: thực hiện phép so sánh7Luồng điều khiển: vòng lặp
Giải thích vòng lặp `for`Vòng lặp `for` cơ bảnVòng lặp `for` chỉ có điều kiệnTừ khóa `break`Từ khóa `continue`Vòng lặp lồng nhauÔn tập: lặp lại hành động2Biến và các kiểu dữ liệu cơ bản
Biến là gìSuy luận kiểu với `:=`Số nguyên (int)Số dấu phẩy độngGiá trị BooleanChuỗiGiá trị 0Hằng sốQuy ước đặt tênÔn tập: biến và kiểu dữ liệu5Đầu vào/đầu ra cơ bản
Đầu ra có định dạngĐộng từ định dạngIn các kiểu dữ liệuNhận đầu vào cơ bản từ người dùngÔn tập: đầu vào và đầu ra8Hàm
Tìm hiểu về hàmKhai báo hàmGọi hàmTham số của hàmTrả về một giá trịTrả về nhiều giá trịGiá trị trả về có tênNhững điều cơ bản về phạm vi của hàmÔn tập: Tạo code có thể tái sử dụng3Toán tử cơ bản
Toán tử số họcToán tử chiaToán tử moduloToán tử gánToán tử gán kết hợpTăng và giảmÔn tập: Tính toán6Luồng điều khiển: câu lệnh điều kiện
Câu lệnh `if`Từ khóa `else`Từ khóa `else if`Biến bị che khuất trong `if`Khởi tạo biếnCâu lệnh `switch``switch` có biểu thức`switch` không có biểu thứcTừ khóa `fallthrough`Ôn tập: đưa ra quyết địnhTự luyện tập: Trình biên dịch Go online