Golang fmt.Sscanf()函数及示例

Golang fmt.Sscanf()函数及示例

在Go语言中,fmt包提供了类似C语言中的printf和scanf函数的格式化IO功能。其中,fmt.Sscanf()函数可以将字符串格式化后解析到对应的变量中。本文将介绍fmt.Sscanf()函数的基本用法,以及如何在Go程序中使用此函数。

fmt.Sscanf()函数的基本用法

fmt.Sscanf()函数的基本用法如下:

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

其中,str表示要解析的字符串;format表示格式;a表示要解析的数据。解析成功后,会将数据保存在指定的变量中,并返回成功解析的数据量n。如果解析错误,则返回一个error类型的错误。

下面是一个简单的例子,演示了如何使用fmt.Sscanf()函数:

package main

import (
    "fmt"
)

func main() {
    str := "Gopher is learning Go."
    var a1 string
    var a2 string
    var a3 string
    var a4 string
    n, err := fmt.Sscanf(str, "%s %s %s %s", &a1, &a2, &a3, &a4)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(n, a1, a2, a3, a4)
}

运行上面的代码,得到的输出为:

4 Gopher is learning Go.

代码中的fmt.Sscanf()函数将字符串按照空格分割,然后将每个单词存储到不同的变量中。

在Go程序中使用fmt.Sscanf()函数

在Go程序中使用fmt.Sscanf()函数的步骤如下:

  1. 定义一个字符串,包含要解析的数据。

  2. 定义需要存储解析结果的变量。

  3. 使用fmt.Sscanf()函数解析字符串。

下面是一个例子,演示了如何在Go程序中使用fmt.Sscanf()函数:

package main

import (
    "fmt"
)

func main() {
    data := "12,345"
    var value1 int
    var value2 int
    _, err := fmt.Sscanf(data, "%d,%d", &value1, &value2)
    if err == nil {
        fmt.Printf("value1 = %d, value2 = %d\n", value1, value2)
    } else {
        fmt.Println(err)
    }
}

运行上面的代码,得到的输出为:

value1 = 12, value2 = 345

代码中的fmt.Sscanf()函数将字符串按照逗号分割,然后将每个数字存储到不同的变量中。

总结

本文介绍了fmt.Sscanf()函数的基本用法,以及如何在Go程序中使用此函数。fmt.Sscanf()函数在解析字符串格式时非常方便实用,同时也能提高程序的性能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程