code: func PadLeft(str string, length int, pad byte) string {
  	slen := runewidth.StringWidth(str)
  	if slen >= length {
  		return str
  	}
  	var buf bytes.Buffer
  	for i := 0; i < length-slen; i++ {
  		buf.WriteByte(pad)
  	}
  	buf.WriteString(str)
  	return buf.String()
  }
docs: // PadLeft returns a new string of a specified length in which the beginning of the current string is padded with spaces or with a specified Unicode character.