- Go并發編程實戰
- 汪明
- 884字
- 2022-07-29 15:05:29
1.8 演練:Exit自動退出程序
由于我們并未開始詳細介紹Go語言的基本語法,因此對于本節的Go代碼讀者不必追求一次看懂。下面通過實戰演練Exit自動退出程序來進一步了解Go語言。
(1)打開Visual Studio Code編輯器,并打開目錄go.introduce\chapter01\code02(如果沒有此目錄,則需要創建此目錄),在該目錄中新建一個main.go文件。
(2)輸入示例程序1-3,該程序會循環檢測用戶的控制臺輸入。如果輸入的字符為“exit”,那么程序會自動退出,否則打印出用戶輸入的信息,并繼續等待用戶的再次輸入。
示例程序1-3 Exit自動退出程序:chapter01\code02\main.go

注意
示例程序1-3中的18行fmt.Sscan(input, & str)可以移除input變量中末尾的特殊換行符,否則無法和“exit”一致。
(3)在目錄go.introduce\chapter01\code02中,用命令行窗口執行go run main.go命令,編譯器會對main.go進行編譯并運行,程序會顯示提示符“> ”等待用戶輸入。
(4)當輸入“hello”并按Enter鍵后,由于不是exit字符,因此會輸出“輸入hello”。當輸入“exit”并按Enter鍵后,程序就會退出,該程序的執行過程如圖1.21所示。

圖1.21 Exit自動退出程序的運行界面
由于Exit自動退出程序是一個獨立的可執行程序,因此必須在第01行(排除空格和注釋)指定包名為main,并包含一個main函數(第07行)。第02~06行import后面用括號可以導入多個包。bufio、fmt和os這3個包都在Go語言標準庫中:
· bufio包通過對io模塊的封裝,提供了數據緩沖功能,能夠從一定程度上減少大塊數據讀寫帶來的開銷。
· fmt包提供了打印函數,將數據以字符串形式輸出到控制臺或文件中。
· os包提供了不依賴平臺的操作系統函數接口,比如可以獲取環境變量、進行文件夾和文件操作等。
第09行末尾的雙斜線(//)代表單行注釋。第09~11行中的符號“:=”在Go語言中表示聲明變量并對變量進行賦值。例如,第11行str := ""語句表示聲明一個變量str,并把空字符串賦值給str。第12行for表示一個無限循環,在Go語言中,循環關鍵詞只有一個for。
第14行input, _ = f.ReadString('\n')語句中的(_)表示空白標識符。在Go語言中,空白標識符具有特殊的用途,表示可以忽略對應的值。第15行if語句中的條件部分不能包含括號,且if后的第一個大括號({)必須和if在同一行,否則會報錯。Go語言每行的結尾都不需要分號(;)。在編輯器中,如果給每行末尾加上分號(;),那么格式化工具gofmt等也會將這些分號刪除掉。
- The Supervised Learning Workshop
- Java EE 6 企業級應用開發教程
- Vue.js 3.x從入門到精通(視頻教學版)
- JS全書:JavaScript Web前端開發指南
- Access 2016數據庫管
- HTML5+CSS3網頁設計
- Flutter跨平臺開發入門與實戰
- 前端HTML+CSS修煉之道(視頻同步+直播)
- Java編程從入門到精通
- Visual FoxPro 6.0程序設計
- 寫給大家看的Midjourney設計書
- Backbone.js Testing
- Java Web應用開發
- HTML5 and CSS3:Building Responsive Websites
- TensorFlow程序設計