Thứ tư, 15/07/2020 | 00:00 GMT+7

Cách viết chương trình đầu tiên của bạn khi di chuyển

Câu "Xin chào, Thế giới!" chương trình là một truyền thống cổ điển và lâu đời trong lập trình máy tính. Đây là một chương trình đầu tiên đơn giản và hoàn chỉnh dành cho người mới bắt đầu và đó là một cách tốt đảm bảo rằng môi trường của bạn được cấu hình đúng cách.

Hướng dẫn này sẽ hướng dẫn bạn cách tạo chương trình này trong Go. Tuy nhiên, để làm cho chương trình thú vị hơn, bạn sẽ sửa đổi câu “Hello, World!” Truyền thống chương trình để nó hỏi user tên của họ. Sau đó, bạn sẽ sử dụng tên trong lời chào. Khi bạn hoàn thành hướng dẫn, bạn sẽ có một chương trình giống như thế này khi bạn chạy nó:

Output
Please enter your name. Sammy Hello, Sammy! I'm Go!

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần cài đặt môi trường phát triển cờ vây local trên máy tính của bạn . Bạn có thể cài đặt điều này theo một trong các hướng dẫn sau:

Bước 1 - Viết câu “Hello, World!” Cơ bản Chương trình

Để viết "Xin chào, Thế giới!" chương trình, mở một editor dòng lệnh chẳng hạn như nano và tạo một file mới:

  • nano hello.go

Khi file văn bản mở ra trong cửa sổ dòng lệnh, bạn sẽ gõ chương trình của bạn :

xin chào.go
package main  import "fmt"  func main() {   fmt.Println("Hello, World!") } 

Hãy chia nhỏ các thành phần khác nhau của mã.

package là một từ khóa Go xác định file này thuộc về gói mã nào. Chỉ có thể có một gói cho mỗi folder và mỗi file .go phải khai báo cùng một tên gói ở đầu file của nó. Trong ví dụ này, mã thuộc về gói main .

import là một từ khóa Go cho trình biên dịch Go biết các gói khác bạn muốn sử dụng trong file này. Tại đây, bạn nhập gói fmt đi kèm với thư viện chuẩn. Gói fmt cung cấp các chức năng định dạng và in có thể hữu ích khi phát triển.

fmt.Println là một hàm Go, được tìm thấy trong gói fmt , cho phép máy tính in một số văn bản ra màn hình.

Bạn theo dõi hàm fmt.Println bằng một chuỗi các ký tự, như "Hello, World!" , đặt trong dấu ngoặc kép. Bất kỳ ký tự nào bên trong dấu ngoặc kép được gọi là một chuỗi . Hàm fmt.Println sẽ in chuỗi này ra màn hình khi chương trình chạy.

Lưu và thoát nano bằng lệnh CTRL + X , khi được yêu cầu lưu file , hãy nhấn Y

Đến đây bạn có thể thử chương trình của bạn .

Bước 2 - Chạy chương trình Go

Với "Xin chào, Thế giới!" chương trình đã viết, bạn đã sẵn sàng để chạy chương trình. Bạn sẽ sử dụng lệnh go , theo sau là tên của file bạn vừa tạo.

  • go run hello.go

Chương trình sẽ thực thi và hiển thị kết quả này:

Output
Hello, World!

Hãy khám phá điều gì đã thực sự xảy ra.

Các chương trình Go cần phải biên dịch trước khi chạy. Khi bạn gọi go run với tên của một file , trong trường hợp này là hello.go , lệnh go sẽ biên dịch ứng dụng và sau đó chạy file binary kết quả. Đối với các chương trình được viết bằng ngôn ngữ lập trình đã biên dịch , trình biên dịch sẽ lấy mã nguồn của chương trình và tạo ra một loại mã cấp thấp hơn (chẳng hạn như mã máy) để tạo ra một chương trình thực thi.

Ứng dụng Go yêu cầu một gói main và chính xác một hàm main() đóng role là điểm nhập cho ứng dụng. Hàm main không có đối số và không trả về giá trị nào. Thay vào đó, nó cho trình biên dịch Go biết rằng gói đó nên được biên dịch dưới dạng một gói thực thi.

Sau khi được biên dịch, mã thực thi bằng lệnh hàm main() trong gói main . Nó thực thi dòng fmt.Println("Hello, World!") Bằng cách gọi hàm fmt.Println . Giá trị chuỗi của Hello, World! sau đó được chuyển đến hàm. Trong ví dụ này, chuỗi Hello, World! cũng được gọi là một đối số vì nó là một giá trị được truyền cho một phương thức.

Các trích dẫn ở hai bên của Hello, World! không được in ra màn hình vì bạn sử dụng chúng để cho Đi biết nơi chuỗi của bạn bắt đầu và kết thúc.

Trong bước này, bạn đã tạo một "Hello, World!" chương trình với Go. Trong bước tiếp theo, bạn sẽ khám phá cách làm cho chương trình tương tác hơn.

Bước 3 - Nhắc user nhập liệu

Mỗi khi bạn chạy chương trình của bạn , nó sẽ tạo ra cùng một kết quả . Trong bước này, bạn có thể thêm vào chương trình của bạn để nhắc user nhập tên của họ. Sau đó, bạn sẽ sử dụng tên của họ trong kết quả .

Thay vì sửa đổi chương trình hiện có của bạn, hãy tạo một chương trình mới có tên là greeting.go bằng trình soạn thảo nano :

  • nano greeting.go

Đầu tiên, hãy thêm mã này, mã này sẽ nhắc user nhập tên của họ:

Welcome.go
package main  import (     "fmt" )  func main() {   fmt.Println("Please enter your name.") } 

, bạn sử dụng hàm fmt.Println để in một số văn bản ra màn hình.

Bây giờ, hãy thêm dòng được đánh dấu để lưu trữ thông tin đầu vào của user :

Welcome.go
package main  import (     "fmt" )  func main() {   fmt.Println("Please enter your name.")   var name string } 

Dòng var name string sẽ tạo một biến mới bằng từ khóa var . Bạn đặt tên cho biến name , và nó sẽ là kiểu string .

Sau đó, thêm dòng được đánh dấu để nắm bắt thông tin đầu vào của user :

Welcome.go
package main  import (     "fmt" )  func main() {   fmt.Println("Please enter your name.")   var name string   fmt.Scanln(&name) } 

Phương thức fmt.Scanln yêu cầu máy tính đợi dữ liệu nhập từ bàn phím kết thúc bằng một dòng mới hoặc ( \n ), ký tự. Điều này sẽ tạm dừng chương trình, cho phép user nhập bất kỳ văn bản nào họ muốn. Chương trình sẽ tiếp tục khi user nhấn ENTER trên bàn phím của họ. Tất cả các tổ hợp phím, bao gồm tổ hợp phím ENTER , sau đó được ghi lại và chuyển đổi thành một chuỗi ký tự.

Bạn muốn sử dụng các ký tự đó trong kết quả của chương trình, vì vậy bạn lưu các ký tự đó bằng cách viết chúng vào biến chuỗi được gọi là name . Go lưu chuỗi đó trong bộ nhớ máy tính của bạn cho đến khi chương trình chạy xong.

Cuối cùng, thêm dòng được đánh dấu sau vào chương trình của bạn để in kết quả :

Welcome.go
package main  import (     "fmt" )  func main() {   fmt.Println("Please enter your name.")   var name string   fmt.Scanln(&name)   fmt.Printf("Hi, %s! I'm Go!", name) } 

Lần này, thay vì sử dụng lại phương thức fmt.Println , bạn đang sử dụng fmt.Printf . Hàm fmt.Printf nhận một chuỗi và sử dụng các động từ in đặc biệt, ( %s ), nó đưa giá trị của name vào chuỗi. Bạn làm điều này vì Go không hỗ trợ nội suy chuỗi , điều này sẽ cho phép bạn lấy giá trị được gán cho một biến và đặt nó bên trong một chuỗi.

Lưu và thoát khỏi nano bằng cách nhấn CTRL + X và nhấn Y khi được yêu cầu lưu file .

Bây giờ chạy chương trình. Bạn sẽ được yêu cầu nhập tên của bạn , vì vậy hãy nhập tên đó và nhấn ENTER . Đầu ra có thể không chính xác như những gì bạn mong đợi:

Output
Please enter your name. Sammy Hi, Sammy ! I'm Go!

Thay vì Hi, Sammy! I'm Go! , có một dấu ngắt dòng ngay sau tên.

Chương trình đã ghi lại tất cả các lần nhấn phím của ta , bao gồm cả ENTER mà ta đã nhấn để yêu cầu chương trình tiếp tục. Trong một chuỗi, nhấn phím ENTER sẽ tạo một ký tự đặc biệt để tạo một dòng mới. Đầu ra của chương trình đang thực hiện chính xác những gì bạn đã yêu cầu; nó hiển thị văn bản bạn đã nhập, bao gồm cả dòng mới đó. Nó không phải là kết quả bạn mong đợi, nhưng bạn có thể sửa nó bằng các chức năng bổ sung.

Mở file greeting.go trong editor :

  • nano greeting.go

Tìm dòng này trong chương trình của bạn:

Welcome.go
... fmt.Scanln(&name) ... 

Thêm dòng sau ngay sau nó:

Welcome.go
name = strings.TrimSpace(name) 

Điều này sử dụng hàm TrimSpace , từ gói strings thư viện tiêu chuẩn của Go, trên chuỗi mà bạn đã chụp bằng fmt.Scanln . Hàm strings.TrimSpace loại bỏ bất kỳ ký tự khoảng strings.TrimSpace nào, kể cả các dòng mới, từ đầu và cuối của một chuỗi. Trong trường hợp này, nó xóa ký tự dòng mới ở cuối chuỗi được tạo khi bạn nhấn ENTER .

Để sử dụng gói strings bạn cần nhập nó ở đầu chương trình.

Tìm các dòng này trong chương trình của bạn:

Welcome.go
import (     "fmt" ) 

Thêm dòng sau để nhập gói strings :

Welcome.go
import (     "fmt"     "strings" ) 

Chương trình của bạn bây giờ sẽ chứa những thứ sau:

Welcome.go
package main  import (     "fmt"     "strings" )  func main() {     fmt.Println("Please enter your name.")     var name string     fmt.Scanln(&name)     name = strings.TrimSpace(name)     fmt.Printf("Hi, %s! I'm Go!", name) } 

Lưu và thoát nano . Nhấn CTRL + X , sau đó nhấn Y khi được yêu cầu lưu file .

Chạy lại chương trình:

  • go run greeting.go

Lần này, sau khi bạn nhập tên của bạn và nhấn ENTER , bạn sẽ nhận được kết quả mong đợi:

Output
Please enter your name. Sammy Hi, Sammy! I'm Go!

Đến đây bạn có một chương trình Go lấy đầu vào từ user và in nó trở lại màn hình.

Kết luận

Trong hướng dẫn này, bạn đã viết câu "Xin chào, Thế giới!" chương trình nhận đầu vào từ user , xử lý kết quả và hiển thị kết quả . Đến đây bạn đã có một chương trình cơ bản để làm việc, hãy cố gắng mở rộng chương trình của bạn hơn nữa. Ví dụ: hỏi màu yêu thích của user và yêu cầu chương trình nói rằng màu yêu thích của nó là màu đỏ. Bạn thậm chí có thể thử sử dụng kỹ thuật tương tự này để tạo một chương trình Mad-Lib đơn giản.


Tags:

Các tin liên quan