// ------------------------------------------------------------------------ // Project active2 // Active Thing (activething.com) git.activething.com/go // // File name string.go // Created by DEV // Modified 29/03/2024 // // Copyright 2024 activething.com // ------------------------------------------------------------------------ // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ package strs import ( "strings" ) func Split(source string, size int) []string { var ls []string for i := 0; i < len(source); i += size { // Calcula el tamaño máximo para el fragmento actual re := len(source) - i fs := min(size, re) ln := source[i : i+fs] ls = append(ls, ln) } return ls } func Pad(source string, size int, chr byte, truncate bool) string { cn := size - len(source) if cn == 0 { return source } if cn < 0 { if truncate { return source[:size] } return source } return source + strings.Repeat(string(chr),cn) }