Nhận đầu vào cơ bản từ người 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 32 trên 109.
Hãy cùng tìm hiểu cách nhận đầu vào cơ bản từ người dùng trong Go. Chúng ta sẽ tạo một chương trình đơn giản yêu cầu nhập tên và tuổi, sau đó hiển thị lời chào.
Đầu tiên, hãy tạo biến để lưu tên và tuổi của người dùng:
var name string
var age intCác biến này sẽ lưu thông tin người dùng nhập vào. Kiểu string dùng cho văn bản, còn kiểu int dùng cho số nguyên.
Tiếp theo, hãy yêu cầu người dùng nhập tên:
fmt.Print("Enter your name: ")
fmt.Scan(&name)Sau khi chạy đoạn code này, dòng chữ "Enter your name:" sẽ hiển thị trên màn hình. Sau đó, chương trình sẽ chờ người dùng nhập nội dung nào đó rồi nhấn Enter.
Từ đầu tiên bạn nhập sẽ được lưu vào biến name, vì fmt.Scan dừng đọc khi gặp dấu cách. Ký hiệu & cho Go biết nơi lưu đầu vào.
Bây giờ, hãy hỏi tuổi của người dùng:
fmt.Print("Enter your age: ")
fmt.Scan(&age)Tương tự bước trước, dòng chữ "Enter your age:" sẽ hiển thị trên màn hình và chương trình sẽ chờ người dùng nhập một số. Số này sẽ được lưu trong biến age.
Cuối cùng, hãy hiển thị lời chào bằng thông tin chúng ta đã thu thập:
fmt.Printf("Hello %s, you are %d years old!\n", name, age)Sau khi chạy đoạn code này, một thông điệp được cá nhân hóa sẽ hiển thị trên màn hình.
Ví dụ, khi chạy chương trình này và nhập "Gopher" cùng "5", bạn sẽ thấy:
Enter your name: Gopher
Enter your age: 5
Hello Gopher, you are 5 years old!Thử thách
Người mớiTrong thử thách này, bạn sẽ luyện cách nhận đầu vào cơ bản từ người dùng trong Go. Bạn sẽ dùng hàm fmt.Scanln() để đọc đầu vào từ người dùng và lưu vào một biến.
Nhiệm vụ của bạn là hoàn thiện chương trình hỏi tên người dùng rồi chào họ.
Lưu ý: Thử thách này dùng các biến được định nghĩa trước thay vì đầu vào từ người dùng.
Tự làm thử
package main
import "fmt"
func main() {
// Khai báo một biến (variable) để lưu tên người dùng
var name string
// Hiển thị lời nhắc cho người dùng
fmt.Print("Enter your name: ")
// TODO: Dùng fmt.Scanln() để đọc đầu vào (input) của người dùng vào biến 'name'
// Hiển thị lời chào bằng tên đã nhập
fmt.Printf("Hello, %s! Nice to meet you.", name)
}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