zoukankan      html  css  js  c++  java
  • 2.12 指定缩进

    
    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)
    
    }
    
    // Indent indenting the input by given indent and rune
    func IndentByRune(input string, indent int, r rune) string {
    	return strings.Repeat(string(r), indent) + input
    }
    
    // Indent indenting the input by given indent
    func Indent(input string, indent int) string {
    	padding := indent + len(input)
    	return fmt.Sprintf("% "+strconv.Itoa(padding)+"s", input)
    }
    
    // Unindent unindenting the input string. In case the
    // input is indented by less than "indent" spaces
    // the min of this both is removed.
    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:]
    }
    
    /*
          Hi! Go is awesome.
       Hi! Go is awesome.
    Hi! Go is awesome.
    ..........Hi! Go is awesome.
    
    */
    
    
  • 相关阅读:
    分布式锁设计方案
    ACID/CAP/BASE 理论知识
    分布式ID设计方案
    perl代码调试
    文档型数据库设计模式-如何存储树形数据 [转]
    树形结构的数据库表Schema设计
    http协议相关
    HTTPS加密原理(转)
    VBA读写XML文件
    VBA 刷新数据透视表
  • 原文地址:https://www.cnblogs.com/zrdpy/p/8620715.html
Copyright © 2011-2022 走看看