Golang fmt.Sscanln()函数及示例

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),因此此函数在新行处停止扫描。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程