内容简介:本文将指导你完成文本文档的缩进和取消注释 。
本文将指导你完成文本文档的缩进和取消注释 。
缩进文本文档
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源代码中设置数组元素的缩进?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。