亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go fmt包中Scan獲取標準輸入方式

 更新時間:2025年07月22日 11:11:00   作者:富士康質(zhì)檢員張全蛋  
Go的fmt.Scan、Scanf、Scanln用于輸入處理,Scan持續(xù)讀取至換行,Scanln按行讀取,Scanf按格式解析參數(shù),格式字符串中的空格和逗號影響參數(shù)分割,且輸入格式需與指定一致

Go fmt包下有三個函數(shù)

可以在程序運行過程中獲取用戶輸入。

  • fmt.Scan:獲取輸入
  • fmt.Scanf:獲取輸入,但是可以指定格式,go會根據(jù)格式解析參數(shù)
  • fmt.Scanln:獲取一行的輸入,只會獲取到一行。

示例1

我們需要和gates和jobs問個好,代碼:

fmt.Println("Please enter your names")
var a1, a2 string
fmt.Scan(&a1, &a2)
fmt.Println("hello,", a1, "and", a2)

運行后,在窗口中輸入:gates jobs

輸出:

hello, gates and jobs

可以看出,go把輸入的參數(shù)按空格分開后,分別賦值給了a1和a2。

整體運行結(jié)果(第二行是運行時用戶輸入的):

Please enter your names
gates jobs
hello, gates and jobs

如果我們輸入時換行輸入:

Please enter your names
gates
jobs
hello, gates and jobs

可以看出gates和jobs中間是敲了回車的,這是Scan和Scanln的區(qū)別。Scan回車還可以繼續(xù)接受,Scanln只要收到回車就不會繼續(xù)接收輸入了。

示例2

Scanln和Scan非常類似,只是Scanln只會接受一個回車,收到回車就掃描結(jié)束了。 

var c1, c2 string
fmt.Scanln(&c1, &c2)
fmt.Println("hello,", c1, "and", c2)

運行結(jié)果:

Please enter your names
gates jobs
hello, gates and jobs

如果換行輸入,結(jié)果是:

Please enter your names
gates
hello, gates and

因為輸入了gates后,回車,結(jié)果就打印出來了,沒機會再輸入jobs了,和Scan函數(shù)不一樣。 

示例3

fmt.Println("Please enter your names")
var b1, b2 string
fmt.Scanf("%s , %s", &b1, &b2)
fmt.Println("hello,", b1, "and", b2)

運行結(jié)果:

Please enter your names
gates , jobs
hello, gates and jobs

上面的示例,需要注意兩點:

1、Scanf中間有一個逗號,但逗號和%s間有空格,因為Scanf是用空格來區(qū)分不同的參數(shù)的。

2、輸入的參數(shù)gates , jobs格式與Scanf中指定的fmt要一致。

3、中間的逗號,Scanf會自動格式匹配不會添加到變量中 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • golang中連接mysql數(shù)據(jù)庫

    golang中連接mysql數(shù)據(jù)庫

    這篇文章主要介紹了golang中連接mysql數(shù)據(jù)庫的步驟,幫助大家更好的理解和學習go語言,感興趣的朋友可以了解下
    2020-12-12
  • Golang設計模式之原型模式詳細講解

    Golang設計模式之原型模式詳細講解

    如果一個類的有非常多的屬性,層級還很深。每次構(gòu)造起來,不管是直接構(gòu)造還是用建造者模式,都要對太多屬性進行復制,那么有沒有一種好的方式讓我們創(chuàng)建太的時候使用體驗更好一點呢? 今天的文章里就給大家介紹一種設計模式,來解決這個問題
    2023-01-01
  • go-zero讀取請求體出現(xiàn)EOF錯誤的解決方法

    go-zero讀取請求體出現(xiàn)EOF錯誤的解決方法

    這篇文章主要為大家詳細介紹了go-zero讀取請求體出現(xiàn)EOF錯誤時如何解決,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-02-02
  • Gin框架中異步任務的實現(xiàn)

    Gin框架中異步任務的實現(xiàn)

    Gin框架中的異步任務處理是指在Web應用中以非阻塞的方式處理耗時操作或后臺任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 使用Go實現(xiàn)健壯的內(nèi)存型緩存的方法

    使用Go實現(xiàn)健壯的內(nèi)存型緩存的方法

    這篇文章主要介紹了使用Go實現(xiàn)健壯的內(nèi)存型緩存,本文比較了字節(jié)緩存和結(jié)構(gòu)體緩存的優(yōu)劣勢,介紹了緩存穿透、緩存錯誤、緩存預熱、緩存?zhèn)鬏?、故障轉(zhuǎn)移、緩存淘汰等問題,并對一些常見的緩存庫進行了基準測試,需要的朋友可以參考下
    2022-05-05
  • Go語言標準輸入輸出庫的基本使用教程

    Go語言標準輸入輸出庫的基本使用教程

    輸入輸出在任何一門語言中都必須提供的一個功能,下面這篇文章主要給大家介紹了關于Go語言標準輸入輸出庫的基本使用,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 詳解Go channel管道的運行原理

    詳解Go channel管道的運行原理

    Go推薦通過通信來共享內(nèi)存,而channel就實現(xiàn)了這一理念。那channel是怎么運行的呢?本文將帶你搞懂Go channel管道的運行原理,感興趣的同學可以參考一下
    2023-05-05
  • Golang?流水線設計模式實踐示例詳解

    Golang?流水線設計模式實踐示例詳解

    這篇文章主要為大家介紹了Golang?流水線設計模式實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Golang 使用http Client下載文件的實現(xiàn)方法

    Golang 使用http Client下載文件的實現(xiàn)方法

    今天小編就為大家分享一篇Golang 使用http Client下載文件的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Golang標準庫syscall詳解(什么是系統(tǒng)調(diào)用)

    Golang標準庫syscall詳解(什么是系統(tǒng)調(diào)用)

    最近在研究go語言,發(fā)現(xiàn)go語言系統(tǒng)調(diào)用源碼只有調(diào)用函數(shù)的定義,今天通過本文給大家分享Golang標準庫syscall詳解及什么是系統(tǒng)調(diào)用,感興趣的朋友一起看看吧
    2021-05-05

最新評論