Golang fmt.Sscanln()函数及示例
在Go语言中,fmt包实现了类似于C的printf()和scanf()函数的格式化I/O。Go语言的 fmt.Sscanln() 函数扫描指定的字符串,并将连续的以空格分隔的值存储到连续的参数中。此函数在换行处停止扫描,最后一个项目之后必须有一个换行符或EOF。此外,此函数在fmt包下定义。在此处,您需要导入“fmt”包以便使用这些函数。
语法:
func Sscanln(str string, a ...interface{}) (n int, err error)
参数: 此函数接受两个参数,如下所示:
- str string: 此参数包含要扫描的指定文本。
- a …interface{}: 此参数接收字符串中的每个元素。
返回值: 它返回成功扫描的项目数。
示例1:
// Golang程序说明fmt.Sscanln()函数的用法
// 包含主包
package main
// 导入fmt
import (
"fmt"
)
// 调用主函数
func main() {
// 声明一些变量
var name string
var alphabet_count int
// 调用Sscanln()函数
n,err := fmt.Sscanln("GFG 3", &name,&alphabet_count)
// 检查函数是否返回任何错误
if err != nil {
panic(err)
}
// 打印指定字符串中的元素数量和元素
fmt.Printf("n: %d, name: %s, alphabet_count: %d",
n, name, alphabet_count)
}
输出:
n: 2, name: GFG, alphabet_count: 3
示例2:
// Golang程序说明fmt.Sscanln()函数的用法
// 包含主包
package main
// 导入fmt
import (
"fmt"
)
// 调用主函数
func main() {
// 声明一些变量
var name string
var alphabet_count int
// 调用Sscanln()函数
fmt.Sscanln("GFG \n 3", &name,&alphabet_count)
// 打印字符串的元素
fmt.Printf("name: %s, alphabet_count: %d", name, alphabet_count)
}
输出:
name: GFG, alphabet_count: 0
在上面的示例中,可以看到alphabet_count被分配了3的值,但输出为0,这是因为两个元素“GFG”和“alphabet_count”之间有一个新行符(\n),因此此函数在新行处停止扫描。
极客教程