Golang fmt.Scanf()函数及示例

Golang fmt.Scanf()函数及示例

在Golang中,fmt包是一个非常常用的包,它提供了一系列格式化输入输出的函数。其中,fmt.Scanf()函数可以从标准输入中按照指定格式读取数据。

fmt.Scanf()函数概述

基本语法如下:

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

fmt.Scanf()函数的格式化字符串可以包含两类内容:普通字符和格式化占位符。普通字符可以直接包含在格式化字符串中,而格式化占位符则以%开始,用于指定后续参数的格式化方式。

fmt.Scanf()函数的第一个参数format是格式化字符串,后续参数a是指针类型,用于存储读取到的数据。

fmt.Scanf()函数返回值有两个:n表示成功读取的参数个数,err表示读取过程中出现的错误,如果读取成功,则err为nil。

下面,我们来看一些fmt.Scanf()函数的使用示例:

示例1:读取整数

package main

import "fmt"

func main() {
    var age int
    fmt.Println("请输入你的年龄:")
    fmt.Scanf("%d", &age)
    fmt.Printf("你的年龄是%d岁\n", age)
}

在上面这个例子中,我们利用fmt.Scanf()函数从标准输入中读取一个整数,存储到age变量中,并通过fmt.Printf()函数将读取到的整数打印输出。注意,在读取整数时,我们使用了%d格式化占位符。

示例2:读取浮点数

package main

import "fmt"

func main() {
    var height float32
    fmt.Println("请输入你的身高:")
    fmt.Scanf("%f", &height)
    fmt.Printf("你的身高是%f米\n", height)
}

在上面这个例子中,我们利用fmt.Scanf()函数从标准输入中读取一个浮点数,存储到height变量中,并通过fmt.Printf()函数将读取到的浮点数打印输出。注意,在读取浮点数时,我们使用了%f格式化占位符。

示例3:读取字符串

package main

import "fmt"

func main() {
    var name string
    fmt.Println("请输入你的名字:")
    fmt.Scanf("%s", &name)
    fmt.Printf("你的名字是%s\n", name)
}

在上面这个例子中,我们利用fmt.Scanf()函数从标准输入中读取一个字符串,存储到name变量中,并通过fmt.Printf()函数将读取到的字符串打印输出。注意,在读取字符串时,我们使用了%s格式化占位符。

示例4:读取多个值

package main

import "fmt"

func main() {
    var name string
    var age int
    fmt.Println("请输入你的名字和年龄:")
    fmt.Scanf("%s %d", &name, &age)
    fmt.Printf("你的名字是%s,年龄是%d岁\n", name, age)
}

在上面这个例子中,我们利用fmt.Scanf()函数从标准输入中读取两个值,分别存储到name和age变量中,并通过fmt.Printf()函数将读取到的值打印输出。

示例5:读取多行文字

package main

import "fmt"

func main() {
    var content string
    fmt.Println("请输入内容,以换行结束:")
    fmt.Scanln(&content)
    fmt.Println("你输入的内容是:")
    fmt.Println(content)
}

在上面这个例子中,我们利用fmt.Scanln()函数从标准输入中读取多行文字,存储到content变量中,并通过fmt.Println()函数将读取到的内容打印输出。

结论

通过本文的学习,相信大家已经掌握了Golang中fmt.Scanf()函数的使用方法和示例,可以灵活地应用于不同场景下的数据读取。需要注意的是,在使用fmt.Scanf()函数时,要确保输入的数据格式和格式化字符串中指定的格式一致,否则读取操作可能会出现异常。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程