国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

編程筆記 Golang基礎(chǔ) 011 控制臺(tái)輸入與輸出

這篇具有很好參考價(jià)值的文章主要介紹了編程筆記 Golang基礎(chǔ) 011 控制臺(tái)輸入與輸出。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Golang控制臺(tái)輸入與輸入是用內(nèi)置的 fmt 包來(lái)完成的。初學(xué)時(shí)要經(jīng)常用到。

一、控制臺(tái)

在軟件開(kāi)發(fā)工具(如Goland)中,控制臺(tái)通常指的是集成開(kāi)發(fā)環(huán)境(IDE)中的一個(gè)組件或面板,它模擬了命令行界面(CLI),允許開(kāi)發(fā)者直接在IDE內(nèi)部運(yùn)行和調(diào)試程序,以及與操作系統(tǒng)進(jìn)行交互。這個(gè)“控制臺(tái)”提供了對(duì)系統(tǒng)命令行的訪問(wèn),無(wú)需離開(kāi)IDE即可執(zhí)行命令、運(yùn)行腳本、編譯代碼、查看輸出、啟動(dòng)服務(wù)器進(jìn)程等操作。

具體到Goland這樣的Java/Go語(yǔ)言IDE中,控制臺(tái)可能有如下用途:

  1. 運(yùn)行應(yīng)用程序:可以直接在控制臺(tái)內(nèi)運(yùn)行程序并觀察其標(biāo)準(zhǔn)輸出(stdout)和標(biāo)準(zhǔn)錯(cuò)誤輸出(stderr)。
  2. 編譯構(gòu)建:通過(guò)命令行調(diào)用編譯器,如go build命令來(lái)編譯Go語(yǔ)言項(xiàng)目,或者使用Maven、Gradle等構(gòu)建工具。
  3. 測(cè)試執(zhí)行:運(yùn)行自動(dòng)化測(cè)試,并顯示測(cè)試結(jié)果。
  4. 調(diào)試支持:提供調(diào)試控制臺(tái),可以在此設(shè)置斷點(diǎn)、單步執(zhí)行、查看變量值等。
  5. 版本控制操作:雖然不是必須,但一些IDE的控制臺(tái)可能會(huì)集成Git或其他版本控制系統(tǒng)命令,使得用戶能夠在控制臺(tái)窗口內(nèi)執(zhí)行版本控制相關(guān)的操作。
  6. 數(shù)據(jù)庫(kù)操作:某些IDE的控制臺(tái)還可以用于執(zhí)行SQL查詢和其他數(shù)據(jù)庫(kù)管理任務(wù)。

總之,在軟件開(kāi)發(fā)過(guò)程中,IDE內(nèi)的控制臺(tái)極大地方便了開(kāi)發(fā)人員快速執(zhí)行和監(jiān)控各種命令行任務(wù),增強(qiáng)了工作效率,減少了切換不同窗口和工具的需要。

二、格式化輸入與輸出

Go 語(yǔ)言中的 fmt 包提供了格式化輸入(掃描,如 Scan, Scanf, Scanln)和輸出(打印,如 Print, Printf, Println, Sprintf, Fprint, 等)的功能。這里主要講解其輸出功能的詳細(xì)應(yīng)用示例:

  1. 基本輸出函數(shù)

    • fmt.Print: 打印所有參數(shù),并在它們之間自動(dòng)添加空格。

      package main
      import "fmt"
      
      func main() {
          fmt.Print("Hello, ", "World!")
      }
      
    • fmt.Println: 類似于 Print,但在所有參數(shù)之后會(huì)追加一個(gè)換行符。

      fmt.Println("Hello, World!")
      
  2. 格式化輸出函數(shù)

    • fmt.Printf: 格式化并打印變量,接受一個(gè)格式字符串和任意數(shù)量的參數(shù)。

      fmt.Printf("My name is %s and I am %d years old.\n", "Alice", 30)
      

      這里 %s 是用于字符串的占位符,%d 是用于整數(shù)的占位符。

  3. 更復(fù)雜的格式化選項(xiàng)

    • 使用標(biāo)志(flag)來(lái)改變輸出樣式,例如左對(duì)齊 -、填充 0、寬度 .width 等。

      fmt.Printf("|%6s|%6d|\n", "Name", 123)    // 默認(rèn)右對(duì)齊,總寬度為6
      fmt.Printf("|%-6s|%-6d|\n", "Name", 123) // 左對(duì)齊
      fmt.Printf("|%06s|%06d|\n", "Name", 123) // 用0填充空白
      
    • 輸出類型標(biāo)識(shí)符:

      • %v:值的默認(rèn)表示形式(根據(jù)類型不同而變化)
      • %#v:值的 Go 語(yǔ)法表示
      • %T:值的類型的 Go 語(yǔ)法表示
      • %t:布爾型
      • %d, %i:十進(jìn)制整數(shù)
      • %x, %X:十六進(jìn)制整數(shù)
      • %e, %E:科學(xué)記數(shù)法浮點(diǎn)數(shù)
      • %f:浮點(diǎn)數(shù)
      • %g%G:根據(jù)情況選擇 %e%f
      • %%:輸出百分號(hào) % 自身
  4. 其他輸出函數(shù)

    • fmt.Sprintf:將格式化的字符串寫入到新的字符串變量中,而不是直接輸出到控制臺(tái)。

      greeting := fmt.Sprintf("Hello, %s!", "Bob")
      fmt.Println(greeting) // 輸出:Hello, Bob!
      
    • fmt.Fprint 和相關(guān)函數(shù):這些函數(shù)可以將格式化內(nèi)容寫入到任意實(shí)現(xiàn)了 io.Writer 接口的對(duì)象,比如 os.File 或 bufio.Writer。

      file, _ := os.Create("output.txt")
      defer file.Close()
      fmt.Fprintf(file, "Writing to a file: %s\n", "This is a test.")
      

以上僅為部分示例,fmt 包提供的功能非常豐富,實(shí)際使用時(shí)可以根據(jù)需求進(jìn)行組合和擴(kuò)展。

三、練習(xí)

以下是一個(gè)綜合性的示例,展示了如何使用 fmt 包進(jìn)行格式化輸出,包括不同類型的數(shù)據(jù)和更復(fù)雜的格式控制:

package main

import (
	"fmt"
	"time"
)

type Person struct {
	Name string
	Age  int
}

func main() {
	// 基本類型輸出
	fmt.Println("Simple output:")
	fmt.Println("Hello, World!")
	fmt.Println(123)
	fmt.Println(123.456)

	// 格式化輸出
	fmt.Println("\nFormatted output:")
	person := Person{Name: "Alice", Age: 30}
	now := time.Now()
	
	// 使用占位符 %s, %d 和 %.2f 分別對(duì)應(yīng)字符串、整數(shù)和保留兩位小數(shù)的浮點(diǎn)數(shù)
	fmt.Printf("Person: Name = %s, Age = %d\n", person.Name, person.Age)
	fmt.Printf("Current time: %v\n", now) // 對(duì)于time.Time類型,%v會(huì)輸出可讀的時(shí)間格式

	// 使用寬度和填充
	fmt.Printf("|%-10s|%-10d|\n", "Name", 123)   // 左對(duì)齊,總寬度為10
	fmt.Printf("|%10s|%10d|\n", "Name", 123)    // 右對(duì)齊,總寬度為10,用空格填充
	fmt.Printf("|%010s|%010d|\n", "Name", 123)  // 右對(duì)齊,總寬度為10,用0填充

	// 使用 %+v 輸出結(jié)構(gòu)體時(shí)會(huì)包含字段名
	fmt.Printf("\nThe Person struct using %+v:\n%+v\n", person, person)

	// 復(fù)雜的格式化示例,輸出布爾值、指針以及 Go 語(yǔ)法表示的類型和值
	boolValue := true
	intPtr := new(int)
	*intPtr = 42
	fmt.Printf("\nOther types and flags:\n%t, %#v, %p, %T\n", boolValue, intPtr, intPtr, intPtr)
}

運(yùn)行此程序?qū)⒖吹礁鞣N類型的變量以不同方式格式化輸出的結(jié)果。

小結(jié)

控制臺(tái)輸入與輸出在實(shí)際開(kāi)發(fā)中較少用到。但在初階段可以用來(lái)測(cè)試所編寫的代碼產(chǎn)生的結(jié)果。此外,格式化輸出在實(shí)際編程中要經(jīng)常用到,本節(jié)內(nèi)容應(yīng)多加練習(xí)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-830820.html

到了這里,關(guān)于編程筆記 Golang基礎(chǔ) 011 控制臺(tái)輸入與輸出的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包