iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Goland字符串格式化样式中“\r“的作用详解
  • 688
分享到

Goland字符串格式化样式中“\r“的作用详解

字符串格式化\r字符串格式化 2023-05-18 06:05:56 688人浏览 八月长安
摘要

目录序原理效果实验代码序 格式化字符串(FORMat String)是在编程过程中,允许编码人员通过特殊的占位符,将相关对应的信息整合或提取的规则字符串。 简单地说,也就是我们编程过

格式化字符串(FORMat String)是在编程过程中,允许编码人员通过特殊的占位符,将相关对应的信息整合或提取的规则字符串。

简单地说,也就是我们编程过程中常用的空格附、换行符、制表符等。

格式化字符串包括格式化输入和格式化输出。

原理

格式化字符串的本质,可以理解为是编码过程中,程序员调用相关格式化字符串的一个操作协议规定。

在这个协议规定中,程序员必须严格依照格式化字符中的占位符,严格进行相关的信息配置。错误的或者不当的信息配置,会导致程序运行失效,甚至未定义行为产生。

在编译过程中,编译器通常会首先对格式化字符串进行加载解析,获取其中的占位符以及各个占位符(可为空)的修饰符,针对占位符以及修饰符的要求,对后续的参数进行读取。通常,对于绝大多数库函数而言,这个过程通常是没有验证的。1

效果

"\r"起的作用是回到行首,当前控制台输出,输出完以后回到当前行的行首。
具体示例如下,这样可以起到对输出字符的覆盖作用,进而实现如下动态效果:

实验代码

这是一个利用Go语言书写的代码,代码的主要作用如上面动态图所示。

其原理为,通过采用递归方式求解斐波那契数列,使得主程序在较长时间内不会结束。

在这期间,开辟一个协程,在协程内通过“\r”实现不断返回行首,进行不同字符的输出,进而实现程序运行效果。

package main
import (
	"fmt"
	"time"
)
func main() {
	go spinner(100 * time.Millisecond)
	const n = 45
	fibN := fib(n) // slow
	fmt.Printf("\rFibonacci(%d) = %d\n", n, fibN)
}
func spinner(delay time.Duration) {
	for {
		for _, r := range `-\|/` {
			fmt.Printf("\r%c", r)
			time.Sleep(delay)
		}
	}
}
func fib(x int) int {
	if x < 2 {
		return x
	}
	return fib(x-1) + fib(x-2)
}

到此这篇关于Goland字符串格式化样式中“\r“的作用的文章就介绍到这了,更多相关字符串格式化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Goland字符串格式化样式中“\r“的作用详解

本文链接: https://www.lsjlt.com/news/211779.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作