golang 填充字符串的左或右侧

PHP 拥有str_pad() 函数

Golang仿照PHP重写str_pad函数


Input 必需。规定要填充的字符串。

PadLength 必需。规定新字符串的长度。如果该值小于原始字符串的长度,则不进行任何操作。

PadString 必选。规定供填充使用的字符串。

PadType 必选。0=填充字符串的左侧。1=填充字符串的右侧。2=填充字符串的两侧。

//StrPadPadType 0 = "left",1 = "right", 2 = both


func StrPad(Input string,PadLength int,PadString string,PadType int)string {

var leftPad,rightPad =0,0

numPadChars := PadLength -len(Input)

if numPadChars <=0 {return Input }

var bufferbytes.Buffer

  buffer.WriteString(Input)

switch PadType {

case 0:

leftPad = numPadChars

rightPad =0

      case 1:

leftPad =0

        rightPad = numPadChars

case 2 :

rightPad = numPadChars /2

        leftPad = numPadChars - rightPad

}

var leftBufferbytes.Buffer

  /* 左填充:循环添加字符*/

  for i :=0; i < leftPad; i++ {

leftBuffer.WriteString(PadString)

if leftBuffer.Len() > leftPad {

leftBuffer.Truncate(leftPad)

break

      }

}

/* 右填充:循环添加字符串*/

  for i :=0; i < rightPad; i++ {

buffer.WriteString(PadString)

if buffer.Len() > PadLength {

buffer.Truncate(PadLength)

break

      }

}

leftBuffer.WriteString(buffer.String())

return leftBuffer.String()

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容