- GO語言編程從入門到實(shí)踐
- 黃永祥
- 998字
- 2023-08-31 19:56:58
1.9 動手練習(xí):編程實(shí)現(xiàn)人機(jī)交互
我們已經(jīng)成功搭建了Go語言的開發(fā)環(huán)境,并在GoLand中編寫了簡單的應(yīng)用程序,本節(jié)使用Go語言的內(nèi)置包fmt實(shí)現(xiàn)數(shù)據(jù)輸入和輸出功能。
內(nèi)置包fmt的Printf()函數(shù)將數(shù)據(jù)以字符串格式輸出,它的語法定義如下:
Printf(format string, a ...interface{}) (n int, err error)
語法說明如下:
1)參數(shù)format以字符串類型表示,數(shù)據(jù)以雙引號“""”或反引號“``”表示,并支持字符串格式化,即在字符串里面設(shè)置變量,使數(shù)據(jù)能隨著變量值的變化而變化。
2)參數(shù)a是不固定參數(shù),即允許設(shè)置0或多個參數(shù);參數(shù)類型為空接口,即支持任意數(shù)據(jù)類型的數(shù)據(jù),主要為字符串格式化提供變量設(shè)置。
3)返回值n為整型,代表輸出字符串的長度。
4)返回值error代表函數(shù)執(zhí)行過程中出現(xiàn)的異常信息。
除了Printf()函數(shù)之外,內(nèi)置包fmt還定義了其他輸出函數(shù):Sprintf()、Println()和Sprintln(),函數(shù)說明如下:
1)Sprintf()與Printf()的參數(shù)相同,返回值為字符串類型,它將輸出字符串作為函數(shù)返回值。
2)Println()只要參數(shù)a,它是不固定參數(shù),參數(shù)類型為空接口,允許輸出0個或多個數(shù)據(jù),返回值n和error分別代表輸出數(shù)據(jù)的長度和異常信息。
3)Sprintln()與Println()的參數(shù)相同,返回值為字符串類型,輸出數(shù)據(jù)以字符串類型作為函數(shù)返回值。
內(nèi)置包fmt的Scanln()函數(shù)允許用戶在程序命令行輸入數(shù)據(jù),它的語法定義如下:
Scanln(a ...interface{}) (n int, err error)
語法說明如下:
1)參數(shù)a是不固定參數(shù),即允許設(shè)置0或多個參數(shù);參數(shù)類型為空接口,即支持任意數(shù)據(jù)類型的數(shù)據(jù),它用于存儲用戶輸入的數(shù)據(jù)。
2)返回值n為整型,代表輸入字符串的長度。
3)返回值error代表函數(shù)執(zhí)行過程中出現(xiàn)的異常信息。
除了Scanln()函數(shù)之外,內(nèi)置包fmt還定義了其他輸入函數(shù):Scan()、Scanf()、Sscan()和Sscanln()等,它們的功能和使用方式都是大同小異,本書就不再詳細(xì)講述。
了解了Go語言的輸入和輸出函數(shù)后,下一步使用輸入和輸出函數(shù)實(shí)現(xiàn)人機(jī)交互功能,簡單來說就是用戶按照提示輸入數(shù)據(jù),程序就輸出對應(yīng)的內(nèi)容,實(shí)現(xiàn)過程如下:
package main import "fmt" func main() { // 定義變量name、age、addr // 用于存儲用戶輸入的數(shù)據(jù) var name, age, addr string // 輸出操作提示 fmt.Printf("請輸入你的名字:\n") // 存儲用戶輸入的數(shù)據(jù) fmt.Scanln(&name) // 輸出操作提示 fmt.Printf("請輸入你的年齡:\n") // 存儲用戶輸入的數(shù)據(jù) fmt.Scanln(&age) // 輸出操作提示 fmt.Printf("請輸入你的居住地:\n") // 存儲用戶輸入的數(shù)據(jù) fmt.Scanln(&addr) // 輸出用戶輸入的所有數(shù)據(jù) fmt.Printf("你的名字是:%v,年齡:%v,居住地:%v",name,age,addr) }
在GoLand中運(yùn)行上述代碼,在GoLand的Run窗口按照程序提示輸入數(shù)據(jù)并按回車鍵完成當(dāng)前輸入,輸入數(shù)據(jù)在Run窗口無法顯示,數(shù)據(jù)直接存儲在變量name、age和addr中,只有通過輸出函數(shù)輸出變量值才能看到用戶輸入的數(shù)據(jù),如圖1-30所示。

圖1-30 運(yùn)行結(jié)果
- HTML5 移動Web開發(fā)從入門到精通(微課精編版)
- Twilio Best Practices
- Ray分布式機(jī)器學(xué)習(xí):利用Ray進(jìn)行大模型的數(shù)據(jù)處理、訓(xùn)練、推理和部署
- React.js Essentials
- 零基礎(chǔ)學(xué)Java(第4版)
- Learning Network Forensics
- RabbitMQ Cookbook
- Mastering ArcGIS Enterprise Administration
- 大話Java:程序設(shè)計從入門到精通
- Learning JavaScript Data Structures and Algorithms(Second Edition)
- R Data Science Essentials
- 大數(shù)據(jù)時代的企業(yè)升級之道(全3冊)
- 美麗洞察力:從化妝品行業(yè)看顧客需求洞察
- Managing Windows Servers with Chef
- Practical Time Series Analysis