首页 > 其他分享 >Golang fmt包的使用

Golang fmt包的使用

时间:2024-02-21 16:15:10浏览次数:24  
标签:输出 格式化 自定义 示例 fmt Golang 使用 main

摘要 Golang是一种简洁、高效的编程语言,其标准库中的fmt包是开发者经常使用的一个重要工具。本文将深入探究Golang fmt包的使用,包括格式化输出、输入扫描、错误处理以及自定义格式化等方面的内容,帮助读者更好地理解和使用该包。   引言 Golang的fmt包提供了一系列函数,用于格式化输入和输出。它在控制台输出、文件读写、网络通信等场景中都有广泛的应用。本文将介绍fmt包的常用函数和使用方法,并通过示例代码演示其实际应用。   格式化输出 fmt包提供了多种格式化输出的函数,如Print、Printf、Println等。这些函数可以将数据以指定格式输出到控制台或其他输出流。例如,使用Printf函数可以按照指定的格式输出字符串、整数、浮点数等类型的数据。   示例代码:   package main   import "fmt"   func main() {     name := "Alice"     age := 25     height := 1.75     fmt.Printf("Name: %s, Age: %d, Height: %.2f\n", name, age, height) } 输入扫描 除了输出,fmt包还提供了输入扫描的功能,可以从标准输入或其他输入流中读取数据。Scan、Scanf和Scanln是常用的输入扫描函数,它们可以根据指定的格式从输入流中读取数据并存储到变量中。   示例代码:   package main   import "fmt"   func main() {     var name string     var age int     var height float64     fmt.Print("Enter your name: ")     fmt.Scan(&name)     fmt.Print("Enter your age: ")     fmt.Scan(&age)     fmt.Print("Enter your height: ")     fmt.Scan(&height)     fmt.Printf("Name: %s, Age: %d, Height: %.2f\n", name, age, height) } 错误处理 在实际开发中,处理错误是非常重要的。fmt包提供了Errorf函数,可以根据指定的格式创建一个新的错误对象。同时,fmt包还提供了Fprint、Fprintf和Fprintln等函数,可以将数据输出到指定的文件或其他输出流中。   示例代码:   package main   import (     "fmt"     "os" )   func main() {     file, err := os.Open("test.txt")     if err != nil {         fmt.Errorf("Failed to open file: %v", err)         return     }     defer file.Close()     fmt.Fprintln(file, "Hello, World!") } 自定义格式化 除了默认的格式化方式,fmt包还支持自定义格式化输出。可以通过实现Stringer接口来定义自定义类型的格式化方式。自定义类型只需要实现String方法,该方法返回一个字符串,用于表示该类型的格式化输出。   示例代码:   package main   import "fmt"   type Person struct {     Name string     Age int     Height float64 }   func (p Person) String() string {     return fmt.Sprintf("Name: %s, Age: %d, Height: %.2f", p.Name, p.Age, p.Height) }   func main() {     person := Person{Name: "Bob", Age: 30, Height: 1.80}     fmt.Println(person) } 结论 Golang的fmt包是一个非常实用的工具,它提供了格式化输出、输入扫描、错误处理和自定义格式化等功能。掌握fmt包的使用方法,可以帮助开发者更好地处理输出和输入,提高程序的可读性和可维护性。通过本文的介绍和示例代码,读者可以深入了解fmt包的使用,并在实际开发中灵活应用。

标签:输出,格式化,自定义,示例,fmt,Golang,使用,main
From: https://www.cnblogs.com/cheyunhua/p/18025455

相关文章

  • golang之函数
    目录一、什么是函数二、函数的定义三、函数的返回值1.多个返回值2.命名返回值四、函数的参数1.可变长参数一、什么是函数简单来说就是一个特定的方法,通过这个方法产生预期的结果。函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输......
  • Windows 批处理(bat) if条件判断语句使用教程
    基本描述在bat脚本中,if条件判断语句共有6种比较操作符,分别为其中,只有等于操作符可以使用符号“==”表示,其他操作符只能使用英文简写当参与比较的字符串是字符串时,将被转换为对于的ASCII码进行比较If指令基本格式指令格式为:if条件表达式(…)注意:英文缩写的比较操作符,左......
  • selenium的快速使用
    selenium介绍selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器快速使用第一步:确认要驱动的浏览器(以谷歌浏览器为例)第二步:下载与浏览器版本对应的驱动https://googlechromelabs.github.io/chrome-......
  • 使用html2Canvas截图网页时,网页存在图片报错:Tainted canvases may not be exported
     这是因为图片跨域产生的报错,看有的说法可以把所有图片进行允许跨域配置,但是比较麻烦。html2canvas有参数可以配置是否允许跨域 参数名称类型默认值描述allowTaintbooleanfalseWhethertoallowcross-originimagestotaintthecanvas---允许跨域background......
  • 【Kali Linux新手起步05】初次使用Burpsuite&&正确配置代理。
    初次使用Burpsuite&&正确配置代理一、打开Burpsuite二、打开Firefox浏览器设置代理三、从Burp网页下载证书并上传四、打开网页进行测试一.打开kali自带的Burpsuite工具在kali菜单中搜索出bupsuite,打开:正常打开,不用更改选项在proxysettings中看到默认端口是8080......
  • const、static使用
    关键字使用1.constconst关键字是一个修饰符,所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就const修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点。在编译的过程中,一旦我们的代码试图去改变......
  • Python 机器学习工具 scikit-learn 的入门使用
    参考文档:https://www.scikitlearn.com.cn/通过对已有多组数据的训练,从而实现对单个数据的结果预测安装pipinstall-Uscikit-learnDemo通过使用sklearn包中的决策树DecisionTreeclassifier算法实现简单预测importsklearnfromsklearnimporttreefeature=[[178,1],......
  • java~Date和LocalDateTime及Instant的使用场景
    在Java中,LocalDateTime、Date和Instant分别代表了不同的日期时间类型,它们之间有一些区别和适用场景。Date:java.util.Date是Java早期的日期时间类,它包含了日期和时间信息,但是在设计上存在一些问题,因此并不推荐在新的代码中使用。Date类存在线程安全性问题,同时它的......
  • 关于8串口服务器例程的使用
    打开该例程之后,首先看一下该例程注释,注释中介绍:该8串口服务器例程设置串口波特率为921600,且仅可用于10M网络,例程中将ld文件中FLASH、RAM的大小配置为192,注意在下载使用时要将MCUFLASH、RAM的配置改为192+128,具体修改方法如下: 此外,由于将8个串口都用于实现8串口网络服务器通......
  • 全流程点云机器学习(二)使用PaddlePaddle进行PointNet的机器学习训练和评估
    前言这不是高支模项目需要嘛,他们用传统算法切那个横杆竖杆流程复杂耗时很长,所以想能不能用机器学习完成这些工作,所以我就来整这个工作了。基于上文的数据集切分,现在来对切分好的数据来进行正式的训练。本系列文章所用的核心骨干网络代码主要来自点云处理:实现PointNet点云分割......