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:
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 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.txt
. example.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.
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).
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).
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.
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:
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.
Ở HĐH OSX mở terminal bằng cách vào Finder -> Applications -> Utilities -> Terminal. Bạn sẽ thấy terminal như sau:
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.
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 đủ.
Text editor được gợi ý trên Windows là Scite...
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:
Home
để về đầu dòng và End
để về cuối dòng.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.Trên OSX trình cài đặt sẽ cài Text Wrangler:
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):
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:
Source: http://www.golang-book.com/books/intro/1
---
Phuc Tran Hoang
Bắt đầu
Phuc Tran Hoang
Chương trình đầu tiên của bạn
Phuc Tran Hoang
Kiểu dữ liệu - Types
Phuc Tran Hoang
http://www.golang-book.com/books/intro/4
Phuc Tran Hoang
http://www.golang-book.com/books/intro/5
Phuc Tran Hoang
http://www.golang-book.com/books/intro/6
Phuc Tran Hoang
http://www.golang-book.com/books/intro/7
Phuc Tran Hoang
http://www.golang-book.com/books/intro/8
Phuc Tran Hoang
http://www.golang-book.com/books/intro/9
Phuc Tran Hoang
http://www.golang-book.com/books/intro/10
Phuc Tran Hoang
http://www.golang-book.com/books/intro/11
Phuc Tran Hoang
http://www.golang-book.com/books/intro/12
Phuc Tran Hoang
http://www.golang-book.com/books/intro/13
Phuc Tran Hoang
http://www.golang-book.com/books/intro/14
Phuc Tran Hoang