1. Bắt đầu

Lập trình máy tính là một nghệ thuật, thủ công và khoa học của việc viết chương trình xác định cách máy tính hoạt động. Quyển sách này hướng dẫn bạn cách viết chương trình sử dụng một ngôn ngữ lập trình được thiết kế bởi Google tên là Go.

Go là một ngôn ngữ lập trình đa mục đích với nhiều tính năng và cấu trúc rõ ràng. Bởi vì nó có trên nhiều nên tảng, tài liệu cho các thư viện được viết đầy đủ và nó tập trung vào các nguyên tắc phát triển phần mềm. Go là một ngôn ngữ lý tưởng cho ngôn ngữ lập trình đầu tiên của bạn.

Quá trình mà chúng tôi sử dụng để viết phần mềm bằng Go (cũng như hầu hết các ngôn ngữ khác) khá đơn giản như sau:

  • Thu tập yêu cầu
  • Tìm giải pháp
  • Viết code để triển khai giải pháp
  • Compile source code thành file thực thi
  • Chạy và test chương trình để chắc chắn rằng nó hoạt động đúng.

Quy trình này cứ lặp đi lặp lại (có nghĩa là nó được thực hiện nhiều lần) và các bước thường chồng chéo nhau. Nhưng trước khi chúng ta viết chương trình đầu tiên bằng Go chúng ta cần nắm được vài điều kiện tiên quyết như sau.

File và folders

File là một tập hợp các dữ liệu được lưu trữ như một đơn vị dưới một cái tên. Các HĐH hiện đại (như Windows hay MacOS) chứa hàng triệu file chứa nhiều loại thông tin khác nhau – mọi thứ từ tài liệu văn bản đến file chương trình thực thi đến các file đa phương tiện.

Tất cả các file được lưu với cách thức tương tự nhau trên một máy tính: tất cả đều một cái tên, một dung lượng xác định (được đo bằng bytes) và với một kiểu định dạng. Thường thì định dạng file được quy định bởi file extension – đó là một phần của tên file phía sau dấu .. Ví dụ như một file với cái tên hello.txt thì có phần mở rộng là txt được sử dụng để đại diện cho dữ liệu văn bản.

Folder (hay còn được gọi là directory) được sử dụng để nhóm nhiều files lại với nhau. Chúng có thể chứa được folder khách. Trên Windows đường dẫn (path) file và folder (hay còn gọi là location) được biểu diễn bằng dấu \ (backslash), ví dụ: C:\Users\john\example.txtexample.txt là tên file, nó được chứa trong thư mục john, thư mục john lại được chứa trong thư mục Users, Thư mục Users lại được chứa trong ổ đĩa C (là biểu diễn cho ổ đĩa vật lý chính trên Windows). Trên OSX (và hầu hết các HĐH khác) đường dẫn file và folder được biểu diễn bằng dấu / (forward slash). Ví dụ: /Users/john/example.txt. Giống như trên Windows example.txt là tên file, nó được chứa trong thư mục john, và thư mục john lại được chứa trong thư mục Users. Không giống như trên Windows, OSX không có chỉ rõ tên ổ đĩa mà file được lưu.

Windows

Trên Windows file và folder được duyệt bằng phần mêm Windows Explorer (truy cập được bằng cách bấm đúp vào “My Computer” hoặc gõ win+e).

img

OSX

Trên OSX file và folder có thể sử dụng Finder (truy cập bằng cách bấm vào Finder icon – icon gương mặt trên thanh bên dưới màn hình).

img

Terminal

Ngày nay, hầu hết mọi tương tác với máy tính đều thông qua giao diện trực quan (GUIs). Chúng ta sử dụng bàn phím, chuột và màn hình chạm để tương tác với các nút hoặc các loại điều khiển khác nhau hiển thị trên màn hình.

Nhưng không phải lúc nào cũng theo cách đó. Trước khi GUI xuất hiện, chúng ta tương tác với máy tính thông qua terminal – là một giao diện văn bản đơn giản hơn để tương tác với máy tính. Thay vì tương tác với máy tính qua các nút trên màn hình thì chúng ta ra gõ các lệnh và nhận được phản hồi. Chúng ta đối thoại với máy tính.

Mặc dù cso vẻ như thế giới máy tính đã xem terminal như là di tích của khứ, nhưng thực tế thì đối với việc lập trình máy tính, terminal vẫn là giao diện người dùng cơ bản được sử dụng ở hầu hết các ngôn ngữ. Go vẫn không ngoại lệ, và vì thế chúng ta viết một chương trình Go chúng ta cần một sự hiểu viết cơ bản nhất về cách mà terminal hoạt động.

Windows

Trên HĐH Windows termnial (còn được gọi là command line) có thể được mở bằng cách bấm window + r (giữ nút window sau đó ấn nút r), gõ cmd.exe và bấm enter. Bạn sẽ nhìn thấy một cửa sổ đen xuất hiện trông như bên dưới:

img

Mặc định command line bắt đầu ở thư mục home. (Trường hợp của tôi là C:\Users\caleb) Bạn ra lệnh bằng các gõ chúng và bấm enter. Thử gõ lệnh dir, đây là lệnh sẽ hiển thị nội dung của thư mục. Bạn có thể sẽ thấy kết quả như bên dưới:

C:\Users\caleb>dir
Volume in drive C has no label.
Volume Serial Number is B2F5-F125

Theo sau một danh sách các file và thư mục được chứa trong thư mục home của bạn. Bạn có thể thay đổi thư mục bằng lệnh cd. Ví dụ như bạn có thư mục là Desktop. Bạn có thể thấy nội dung của nó bằng cách gõ lệnh cd Desktop và rồi gõ lệnh dir. Để quay trở lại thư mục home của bạn, bạn có thể dùng một thư mục đặc biệt tên là .. (2 dấu chấm cạnh nhau): cd ... Một dấu chấm đại diện cho thư mục hiện tại (được gọi là working folder), vì thế cd . không làm gì cả. Có nhiều lệnh bạn có thể sử dụng, nhưng bao nhiêu đây là đủ để bắt đầu rồi.

OSX

Ở HĐH OSX mở terminal bằng cách vào Finder -> Applications -> Utilities -> Terminal. Bạn sẽ thấy terminal như sau:

img

Mặc định termnial bắt đầu tại thư mục home của bạn. (Trường hợp của tôi là /Users/caleb) Bạn ra lệnh bằng cách gõ chúng và gõ enter. Thử gõ lệnh ls, nó sẽ hiện ra nội dung của thư mục. Bạn sẽ thấy nội dung tương tự như sau:

caleb-min:~ caleb$ ls
Desktop      Downloads      Movies     Pictures
Documents    Library        Music      Public

Đây là các file và folder nằm trong thư mục home (trường hợp của tôi không có file nào). Bạn có thể thay đổi thư mục bằng cách dùng lệnh cd. Ví dụ bạn có thư mục Desktop. Bạn có thể thấy nội dung của nó bằng cách gõ lệnh cd Desktop và rồi gõ lệnh ls. Để quay về thư mục home của bạn bạn có thể sử dụng một thư mục đặc biệt tên .. (2 dấu cách cạnh nhau): cd ... Một kí tự đại diện cho thư mục hiện tại (được gọi là working folder). vì thế cd . không làm gì cả. Có nhiều lệnh bạn có thể sử dụng, nhưng bao nhiêu đây là đủ để bắt đầu rồi.

Text Editors

Công cụ chính của một lập trình viên đó chính là text editor. Text editor tương tự như trình xử lí văn bản (Microsoft Word, Open Office,…) nhưng không giống ở chỗ chúng không có các định dạng văn bản (không in đậm, hay nghiêng,…) thay vào đó chúng xử lí văn bản plain text (văn bản thuần túy). Cả OSX và Windows đều có text editor kèm theo, nhưng chúng bị giới hạn các chức năng, vì vậy tôi gợi ý nên cài 1 cái khác ngon hơn.

Để dễ dàng hơn cho việc cài đặt tại trang chủ của quyển sách http://www.golang-book.com/ có một trình cài đặt, giúp bạn cài đặt cả bộ Go tool và cài đặt biến môi trường, editor đầy đủ.

Windows

Text editor được gợi ý trên Windows là Scite…

img

Text editor có một vùng trắng lớn để bạn có thể nhập nội dung vào. Ở bên trái bạn có thể thấy thanh số dòng. Ở dưới của cửa sổ hiển thị thông tin trạng thái hiển thị thông tin về file và vị trí hiện tại của con trỏ. Hiện tại (theo hình) nó nói rằng chúng ta đang ở dòng 1, cột 1, văn bản đang được chèn bình thường và chúng tôi đang sử dụng các dòng mới theo kiểu windows.

Bạn có thể mở file bằng cách bấm File → Open và duyệt đến file bạn cần. Có thể lưu file bằng cách File → Save or File → Save As.

Khi bạn làm việc trong một trình soạn thảo văn bản, sẽ rất hữu ích khi học các phím tắt. Menu hiện các phím tắt ở phía bên phải. Sau đây là vài phím tắt thông dụng:

  • Ctrl + S – lưu file hiện tại
  • Ctrl + X – cắt văn bản đang được chọn (Xóa bỏ nó và lưu nó vào bộ nhớ đệm clipboard để bạn có thể dán nó sau đó)
  • Ctrl + C – copy văn bản đang được chọn
  • Ctrl + V – dán văn bản trong clipboard ra vị trí con trỏ.
  • Sử dụng các phím mũi tên để di chuyển, Home để về đầu dòng và End để về cuối dòng.
  • Ấn giữ phím shift trong khi sử dụng các phím mũi tên (or Home and End) để chọn văn bản mà không dùng chuột.
  • Ctrl + F – Hiện lên một hộp thoại mà bạn có thể tìm được nội dung của file hiện tại.

OSX

Trên OSX trình cài đặt sẽ cài Text Wrangler:

img

Giống như Scite trên Windows, Text Wrangler có một vùng trắng lớn để bạn nhập văn bản vào. Bạn có thể mở file bằng cách bấm File → Open và duyệt đến file bạn cần. Có thể lưu file bằng cách File → Save or File → Save As. Sau đây là vài phím tắt có ích (Command là phím có kí tự  key):

  • Command + S – lưu file hiện tại
  • Command + X – cắt văn bản đang được chọn (Xóa bỏ nó và lưu nó vào bộ nhớ đệm clipboard để bạn có thể dán nó sau đó)
  • Command + C – copy văn bản đang được chọn
  • Command + V – dán văn bản trong clipboard ra vị trí con trỏ.
  • Sử dụng các phím mũi tên để di chuyển
  • Command + F – Hiện lên một hộp thoại mà bạn có thể tìm được nội dung của file hiện tại.

Go Tools

Go là ngôn ngữ biên dịch, có nghĩa là source code (code mà bạn viết) được dịch ra thành một ngôn ngữ mà máy tính có thể hiểu được. Vì thế trước khi chúng ta viết một chương trình Go, chúng ta cần có Go compiler.

Trình cài đặt sẽ giúp cài đặt hoàn toàn tự động. Chúng ta sử dụng go phiên bản 1. (Muốn xem thêm bạn có thể vào link http://www.golang.org)

Hãy chắc chắn rằng bạn đã cài đặt go thành công. Bạn hãy mở terminal ra và gõ lệnh:

go version

Bạn sẽ thấy nội dung như sau:

go version go1.0.2

Số phiên bản của bjan có thể khác đôi chút. Nếu bạn bị lỗi khi gõ lệnh trên thì bạn có thể thử restart máy tính sau khi cài.

Go tool gồm nhiều command và nhiều sub command. Để xem bạn có thể gõ lệnh sau:

go help

Chúng ta sẽ xem cách sử dụng chúng ở chương tiếp theo.


Ghi chú của người dịch:

  • HĐH ghi tắt của Hệ điều hành
  • OSX là phiên bản trước đây của HĐH macOS, có thể coi OSX hay Mac OS X hay macOS là một (khác phiên bản).
  • Phiên bản Go stable mới nhất tại thời điểm dịch bài là go1.13.
  • … kí hiệu 1 đoạn không quan trọng đã bị bỏ đi.

Source: http://www.golang-book.com/books/intro/1

Bình luận

Series Navigation2. Chương trình đầu tiên của bạn >>

Leave a Reply

Your email address will not be published.