<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] fmt 用類似于C的printf和scanf的函數實現格式化的I/O。 ## 輸出函數 `Print` 系列的輸出函數 ```go func Print(a ...any) (n int, err error) // 打印內容 func Printf(format string, a ...any) (n int, err error) // 格式化打印內容 func Println(a ...any) (n int, err error) // 打印內容,默認帶換行符。 ``` `Sprint` 系列的輸出函數 ```go func Sprint(a ...any) string // 返回字符串的內容 func Sprintf(format string, a ...any) string // 返回字符串的格式化內容 func Sprintln(a ...any) string // 返回字符串的內容,默認帶換行符 ``` `Fprint` 系列的輸出函數 ```go func Fprint(w io.Writer, a ...any) (n int, err error) // 將內容a,寫入w。返回寫入字節數以及err信息 func Fprintf(w io.Writer, format string, a ...any) (n int, err error) // 將格式化內容a,寫入w。返回寫入字節數以及err信息 func Fprintln(w io.Writer, a ...any) (n int, err error) // 將內容a(默認帶換行符),寫入w。返回寫入字節數以及err信息 ``` 輸出函數示例 ```go package main import ( "fmt" "os" ) func main() { // Print 系列的輸出函數 name := "jiaxzeng" fmt.Print("hello ", name, "\n") fmt.Printf("hello %s\n", name) fmt.Println("hello", name) // Sprint 系列的輸出函數 fmt.Print("\n-------------------------------------\n") s := fmt.Sprint("hello ", name) fmt.Printf("s: %v\n", s) s = fmt.Sprintf("hello %s", name) fmt.Printf("s: %v\n", s) s = fmt.Sprintln("hello", name) fmt.Printf("s: %v\n", s) // Fprint 系列的輸出函數 fmt.Print("\n-------------------------------------\n") n, err := fmt.Fprint(os.Stdin, "hello ", name, ", ") if err != nil { fmt.Printf("Fprint failed, err: %v", err) } else { fmt.Printf("Byte size: %v\n", n) } n, err = fmt.Fprintf(os.Stdout, "hello %v, ", name) if err != nil { fmt.Printf("Fprint failed, err: %v", err) } else { fmt.Printf("Byte size: %v\n", n) } n, err = fmt.Fprintln(os.Stdout, "hello", name) if err != nil { fmt.Printf("Fprint failed, err: %v", err) } else { fmt.Printf("Byte size: %v\n", n) } } // 運行結果 // hello jiaxzeng // hello jiaxzeng // hello jiaxzeng // ------------------------------------- // s: hello jiaxzeng // s: hello jiaxzeng // s: hello jiaxzeng // ------------------------------------- // hello jiaxzeng, Byte size: 16 // hello jiaxzeng, Byte size: 16 // hello jiaxzeng // Byte size: 15 ``` ## 輸入函數 `Scan` 系列的輸入函數 > 從 os.Stdin 賦值給 變量a ```go func Scan(a ...any) (n int, err error) // 變量a 是多個時,分割符可以是換行或空格 func Scanf(format string, a ...any) (n int, err error) // 格式化字符串時,連接符需要與字符串隔開;變量a 是多個時,只能一行輸入且需要輸入指定的分隔符。 func Scanln(a ...any) (n int, err error) // 變量a 是多個時,分隔符只能是空格。 ``` `Sscan` 系列的輸入函數 > 從 字符串str 賦值給 變量a ```go // 變量str 包含\n \t 空格,當做分割符識別對應的參數個數 func Sscan(str string, a ...any) (n int, err error) // 變量str 包含\n \t 空格時,格式化字符串也需要對應個數的\n \t 空格。 func Sscanf(str string, format string, a ...any) (n int, err error) // 與Sscan類似,但是變量str不能包含 \n func Sscanln(str string, a ...any) (n int, err error) ``` `Fscan` 系列的輸入函數 > 從 `io.Reader` 賦值給 變量a ,`io.Reader` 可以通過 `strings.NewReader` 函數返回得到。 ```go // 變量r 包含\n \t 空格,當做分割符識別對應的參數個數 func Fscan(r io.Reader, a ...any) (n int, err error) // 變量r 包含\n \t 空格時,格式化字符串也需要對應個數的\n \t 空格。 func Fscanf(r io.Reader, format string, a ...any) (n int, err error) // 與Fscan類似,但是變量r不能包含 \n func Fscanln(r io.Reader, a ...any) (n int, err error) ``` 輸入函數示例 ```go package main import ( "fmt" "os" "strings" ) func main() { // Scan 系列的輸入函數 fmt.Print("\n-------------------------------------\n") var ( i int str string ) fmt.Print("請輸入數據: ") // fmt.Scan(&str, &i) // fmt.Scanf("%s + %d", &str, &i) fmt.Scanln(&str, &i) fmt.Printf("type is: %T, value is: %v\n", str, str) fmt.Printf("type is: %T, value is: %v\n", i, i) // Sscan 系列的輸入函數 fmt.Print("\n-------------------------------------\n") fmt.Sscan("jiaxzeng \n 323", &str, &i) fmt.Sscanf("jiaxzeng age is 18.", "%s age is %d.", &str, &i) fmt.Sscanln("jiaxzeng \n 456", &str, &i) fmt.Println(str, i) // Fscan 系列的輸入函數 fmt.Print("\n-------------------------------------\n") reader := strings.NewReader("xiaodunan \n 18") fmt.Fscan(reader, &str, &i) fmt.Printf("%s age is %d\n", str, i) reader = strings.NewReader("xiaodunan is 18") fmt.Fscanf(reader, "%s is %d", &str, &i) fmt.Printf("%s age is %d\n", str, i) reader = strings.NewReader("xiaodunan \n 18") fmt.Fscanln(reader, &str, &i) fmt.Printf("%s age is %d\n", str, i) } // 運行結果 // ------------------------------------- // 請輸入數據: test // type is: string, value is: test // type is: int, value is: 0 // ------------------------------------- // jiaxzeng 18 // ------------------------------------- // xiaodunan age is 18 // xiaodunan age is 18 // xiaodunan age is 18 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看