内容简介:本文将指导你完成文本文档的缩进和取消注释 。
本文将指导你完成文本文档的缩进和取消注释 。
缩进文本文档
Golang 版本
1.12.1
前言
本文将指导你完成文本文档的缩进和取消注释 。
实现
package main import ( "fmt" "strconv" "strings" "unicode" ) func main() { text := "Hi! Go is awesome." text = Indent(text, 6) fmt.Println(text) text = Unindent(text, 3) fmt.Println(text) text = Unindent(text, 10) fmt.Println(text) text = IndentByRune(text, 10, '.') fmt.Println(text) } // 通过给定的缩进和rune缩进缩进输入 func IndentByRune(input string, indent int, r rune) string { return strings.Repeat(string(r), indent) + input } // 通过给定缩进缩进缩进输入 func Indent(input string, indent int) string { padding := indent + len(input) return fmt.Sprintf("% "+strconv.Itoa(padding)+"s", input) } // Unindent unindenting输入字符串。如果输入缩进小于“缩进”空格,则删除两者的最小值。 func Unindent(input string, indent int) string { count := 0 for _, val := range input { if unicode.IsSpace(val) { count++ } if count == indent || !unicode.IsSpace(val) { break } } return input[count:] }
$ go run main.go Hi! Go is awesome. Hi! Go is awesome. Hi! Go is awesome. ..........Hi! Go is awesome.
原理
缩进和填充一样简单。在本例中,使用了相同的格式化选项。缩进实现的更具可读性的形式可以使用 strings
包的 Repeat
函数。前面代码中的 IndentByRune
函数应用了这种方法。
在本例中,取消缩进意味着删除给定的前导空格数。前面代码中的 Unindent
实现删除了最小的前导空格数或给定的缩进。
以上所述就是小编给大家介绍的《go基础库之缩进文本文档》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【Python】解析Python的缩进规则
- Python 的缩进是不是反人类的设计?
- Python 之父谈 Python 的强制缩进及其他
- 木兰重生:木兰代码格式化之自动调整缩进的 150 倍性能优化
- 缩进,漂亮的打印代码,包括Django模板标签,HTML,CSS和JavaScript
- javascript – 如何在Eclipse中的Java Script源代码中设置数组元素的缩进?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learning Vue.js 2
Olga Filipova / Packt Publishing / 2017-1-5 / USD 41.99
About This Book Learn how to propagate DOM changes across the website without writing extensive jQuery callbacks code.Learn how to achieve reactivity and easily compose views with Vue.js and unders......一起来看看 《Learning Vue.js 2》 这本书的介绍吧!