Home  >  Article  >  Backend Development  >  What is the use of the scan method in go language?

What is the use of the scan method in go language?

青灯夜游
青灯夜游Original
2021-03-15 16:46:586505browse

In the go language, the Scan() method is used to read text from the standard input "os.Stdin", that is, to obtain data from the terminal. This method will return the number of data successfully read and any errors encountered; if the number of data read is less than the provided parameters, an error report reason will be returned.

What is the use of the scan method in go language?

The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.

Scan series

Go languagefmt package includes fmt.Scan, ## The three functions #fmt.Scanf and fmt.Scanln can obtain user input from standard input during program running.

fmt.Scan

Syntax

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

    Scan scans text from standard input, reading whitespace separated values ​​and saving them to pass In arguments given to this function, newline characters are treated as whitespace characters.
  • This function returns the number of successfully scanned data and any errors encountered. If the number of data read is less than the provided parameters, an error report reason will be returned.
Code example

func main() {
    var (
        name    string
        age     int
        married bool
    )
    fmt.Scan(&name, &age, &married)
    fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)
}

Compile the above code and execute it in the terminal. Enter

小明, 18 and ## in the terminal. #falseUse spaces to separate. <pre class="brush:php;toolbar:false">$ ./scan_demo  小明 18 false 扫描结果 name:小明 age:18 married:false</pre>

fmt.Scan

Scan the data entered by the user from the standard input and store the data separated by whitespace characters into the specified parameters.

fmt.Scanf

Syntax

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

Scanf scans text from standard input and reads whitespace according to the format specified by the format parameter Character-separated values ​​are stored in the parameters passed to this function.
  • This function returns the number of successfully scanned data and any errors encountered.
  • Code example
func main() {
    var (
        name    string
        age     int
        married bool
    )
    fmt.Scanf("1:%s 2:%d 3:%t", &name, &age, &married)
    fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)
}

Compile the above code and execute it in the terminal. Enter Xiaoming,

18

and false in the terminal according to the specified format. . <pre class="brush:php;toolbar:false">$ ./scan_demo  1:小明 2:18 3:false 扫描结果 name:小明 age:18 married:false</pre>

fmt.Scanf

Different from fmt.Scan which simply uses spaces as the delimiter for input data, fmt.Scanf A specific input content format is specified for the input data. Only data input according to the format will be scanned and stored in the corresponding variables. For example, if we still input the data in the space-separated format as in the previous example,

fmt.Scanf

will not be able to correctly scan the input data. <pre class="brush:php;toolbar:false">$ ./scan_demo  小明 18 false 扫描结果 name: age:0 married:false</pre>

fmt.Scanln

Syntax

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

Scanln is similar to Scan, it only stops scanning when it encounters a newline. There must be a line break after the last data or the end position must be reached.
  • This function returns the number of successfully scanned data and any errors encountered.
  • Code example
func main() {
    var (
        name    string
        age     int
        married bool
    )
    fmt.Scanln(&name, &age, &married)
    fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)
}

Compile the above code and execute it in the terminal. Enter

小明

, 18 and ## in the terminal. #falseUse spaces to separate.

<pre class="brush:php;toolbar:false">$ ./scan_demo  小明 18 false 扫描结果 name:小明 age:18 married:false</pre> fmt.ScanlnThe scan ends when a carriage return is encountered. This is more commonly used.

Recommended learning: Golang tutorial

The above is the detailed content of What is the use of the scan method in go language?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn