使用fmt.Sscanf函数从字符串中读取格式化的数据

活动线报侠 程序猿

时间: 2023-07-25 阅读: 1 字数:1392

{}
在Go语言中,fmt包中的Sscanf函数可以非常方便...

目录

在Go语言中,fmt包中的Sscanf函数可以非常方便地从一个字符串中读取格式化的数据,并将其赋值给变量。这个函数可以解析字符串中的数据,根据指定的格式将数据转换为相应的类型,并将转换后的结果存储到指定的变量中。 fmt.Sscanf函数的语法如下: func Sscanf(str string, format string, a ...interface{}) (n int, err error) 其中,str是要解析的字符串,format是指定的格式,a是待赋值的变量列表,n是成功赋值的变量个数,err是错误描述。 下面我们通过一些代码示例来加深对fmt.Sscanf函数的理解。 示例1:解析字符串中的整数 package main import ( "fmt" ) func main() { str := "I have 10 apples" var apples int n, err := fmt.Sscanf(str, "I have %d apples", &apples) if err != nil { fmt.Println("解析错误:", err) return } fmt.Println("解析成功,变量apples的值为:", apples) fmt.Println("成功赋值的变量个数:", n) } 输出结果: 解析成功,变量apples的值为: 10 成功赋值的变量个数: 1 在上述示例中,我们通过fmt.Sscanf函数解析了字符串"I have 10 apples",并提取出其中的整数10,将其赋值给变量apples。 示例2:解析字符串中的多个值 package main import ( "fmt" ) func main() { str := "I am 20 years old" var name string var age int n, err := fmt.Sscanf(str, "I am %s years old", &name, &age) if err != nil { fmt.Println("解析错误:", err) return } fmt.Println("解析成功,变量name的值为:", name) fmt.Println("解析成功,变量age的值为:", age) fmt.Println("成功赋值的变量个数:", n) } 输出结果: 解析成功,变量name的值为: 20 解析成功,变量age的值为: 0 成功赋值的变量个数: 1 在示例2中,我们从字符串"I am 20 years old"中解析出"name"和"age"的值。尽管我们在格式化字符串中指定了两个变量,但由于"20"被解析为了字符串类型的"name",而非整数类型的"age",所以"age"的值为0。 ![描述](http://cdn.u1.huluxia.com/g4/M02/BE/9D/rBAAdmS_xa-AS-S0AAAYCN8EckI036.png)
本文章网址:https://www.sjxi.cn/detil/136971b9e7a842ed9686436af306eb57

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复