GO 鍵盤輸入和打印輸出


鍵盤輸入和打印輸出

一、打印輸出

1.1 fmt包

fmt包實現了類似C語言printf和scanf的格式化I/O。格式化verb('verb')源自C語言但更簡單。

詳見官網fmt的API:https://golang.google.cn/pkg/fmt/

fmtpackage

1.2 導入包

import "fmt"

1.3 常用打印函數

打印:

func Print(a ...interface{}) (n int, err error)

格式化打印:

func Printf(format string, a ...interface{}) (n int, err error)

打印后換行

func Println(a ...interface{}) (n int, err error)

格式化打印中的常用占位符:

格式化打印占位符:
            %v,原樣輸出
            %T,打印類型
            %t,bool類型
            %s,字符串
            %f,浮點
            %d,10進制的整數
            %b,2進制的整數
            %o,8進制
            %x,%X,16進制
                %x:0-9,a-f
                %X:0-9,A-F
            %c,打印字符
            %p,打印地址
            。。。

示例代碼:

package main
 
import (
    "fmt"
)
 
func main() {
    a := 100           //int
    b := 3.14          //float64
    c := true          // bool
    d := "Hello World" //string
    e := `Ruby`        //string
    f := 'A'
    fmt.Printf("%T,%b\n", a, a)
    fmt.Printf("%T,%f\n", b, b)
    fmt.Printf("%T,%t\n", c, c)
    fmt.Printf("%T,%s\n", d, d)
    fmt.Printf("%T,%s\n", e, e)
    fmt.Printf("%T,%d,%c\n", f, f, f)
    fmt.Println("-----------------------")
    fmt.Printf("%v\n", a)
    fmt.Printf("%v\n", b)
    fmt.Printf("%v\n", c)
    fmt.Printf("%v\n", d)
    fmt.Printf("%v\n", e)
    fmt.Printf("%v\n", f)
 
}
 

運行結果:

yunxing1

二、鍵盤輸入

2.1 fmt包讀取鍵盤輸入

常用方法:

func Scan(a ...interface{}) (n int, err error)

func Scanf(format string, a ...interface{}) (n int, err error)

func Scanln(a ...interface{}) (n int, err error)

package main
 
import (
    "fmt"
)
 
func main() {
    var x int
    var y float64
    fmt.Println("請輸入一個整數,一個浮點類型:")
    fmt.Scanln(&x,&y)//讀取鍵盤的輸入,通過操作地址,賦值給x和y   阻塞式
    fmt.Printf("x的數值:%d,y的數值:%f\n",x,y)
 
    fmt.Scanf("%d,%f",&x,&y)
    fmt.Printf("x:%d,y:%f\n",x,y)
}

運行結果:

yunxing2

2.2 bufio包讀取

https://golang.google.cn/pkg/bufio/

bufio包中都是IO操作的方法:

先創建Reader對象:

bufio1

然后就可以各種讀取了:

bufio2

示例代碼:

package main
 
import (
    "fmt"
    "os"
    "bufio"
)
 
func main() {
    fmt.Println("請輸入一個字符串:")
    reader := bufio.NewReader(os.Stdin)
    s1, _ := reader.ReadString('\n')
    fmt.Println("讀到的數據:", s1)
 
}

運行效果:

yunxing3

文章中的源代碼:

https://github.com/rubyhan1314/go_foundation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM