1.安装
go get -u github. com/timespacegroup/go-utils
import (
"github.com/timespacegroup/go-utils"
)
使用,例:fieldNames := tsgutils.NewInterfaceBuilder()
2.使用
2.1 字符串拼接、int、int64、Float64
func TestNewString(t *testing.T ) {
str1 := NewString("b" )
str2 := NewString("a" ).Append (str1).AppendString ("c" ).AppendInt (123 ).AppendInt 64(123456789 ).AppendFloat 64(5.4321 )
FmtPrintln(str2.ToString ()) // abc1231234567895.4321E+00
}
2.2 清除再使用Clear,字符串长度计算 Len
func TestNewString(t *testing.T ) {
str1 := NewString("b" )
str2 := NewString("a" ).Append (str1).AppendString ("c" ).AppendInt (123 ).AppendInt 64(123456789 ).AppendFloat 64(5.4321 )
str3 := str2.Clear ()
str3 = str3.AppendString ("abc123" )
FmtPrintln(str3.ToString ()) // abc123
FmtPrintln(str3.Len ()) // 6
}
2.3 字符串包含某个字符:StartsWith,EndsWith,Contains,ContainsIgnoreCase,LastIndex,Index
func TestStringInChar (t *testing .T ) {
str := NewString("I am an IT engineer." )
FmtPrintln(str.StartsWith("I" ) ) // true
FmtPrintln(str.StartsWith("a" ) ) // false
FmtPrintln(str.EndsWith("r." ) ) // true
FmtPrintln(str.EndsWith("ee" ) ) // false
FmtPrintln(str.Contains("IT" ) ) // true
FmtPrintln(str.Contains("it" ) ) // false
FmtPrintln(str.ContainsIgnoreCase("IT" ) ) // true
FmtPrintln(str.ContainsIgnoreCase("it" ) ) // true
FmtPrintln(str.Index("e" ) ) // 11
FmtPrintln(str.LastIndex("e" ) ) // 17
}
2.4 字符串修改:Trim,Replace,Remove(指定id),RemoveLast,Substring,SubstringBegin,SubstringEnd,ToLower,ToUpper
func TestStringModify (t *testing .T ) {
str := NewString("victory" )
FmtPrintln(str.ToString() ) //victory
FmtPrintln(NewString(" victory " ) .Trim() .ToString() ) //victory
FmtPrintln(str.Replace("y" , "x00" ) .ToString() ) //victorx00
FmtPrintln(str.Remove(1 ) .ToString() ) //vctory
FmtPrintln(str.RemoveLast() .ToString() ) //victor
FmtPrintln(str.Substring(1 ,2 ) .ToString() ) //i
FmtPrintln(str.SubstringBegin(2 ) .ToString() ) //ctory 此处开始的id
FmtPrintln(str.SubstringEnd(2 ) .ToString() ) //vi 此处结束的id
FmtPrintln(NewString("VICTORY" ) .ToLower() .ToString() ) //victory
FmtPrintln(str.ToUpper() .ToString() ) //VICTORY
FmtPrintln(str.ToString() ) //victory
}
2.5 字符串转换数字类型:ToInt,ToInt64,ToFloat
func TestStringNumber(t *testing.T ) {
str1 := NewStringInt(123 )
FmtPrintln(str1.ToString ()) //123
str2 := NewStringInt64(12345678987654321 )
FmtPrintln(str2.ToString ()) //12345678987654321
str3 := NewStringFloat64(123.456 )
FmtPrintln(str3.ToString ()) //1.23456E+02
str4,err := NewString("456" ).ToInt ()
CheckAndPrintError("convert string to int err" , err)
FmtPrintln(str4) //456
str5,err := NewString("45678987654321" ).ToInt 64()
CheckAndPrintError("convert string to int64 err" , err)
FmtPrintln(str5) //45678987654321
str6,err := NewString("456.789" ).ToFloat ()
CheckAndPrintError("convert string to float err" , err)
FmtPrintln(str6) //456.789
}
2.6 其他操作
func TestStringOther (t *testing .T ) {
str := NewString("victory" )
FmtPrintln(str.ToArray() ) //[v i c t o r y]
FmtPrintln(FirstCaseToUpper("aaa_bbb_ccc" ,false) ) // aaaBbbCcc
FmtPrintln(FirstCaseToUpper("aaa_bbb_ccc" ,true) ) // AaaBbbCcc
strArray := strings.Split("victory" ,"" )
FmtPrintln(strArray) //[v i c t o r y]
FmtPrintln(ArrayToString(strArray) ) //victory
}
3.GitHub源码地址
https: //github.com /timespacegroup/go-utils
https: //github.com /timespacegroup/go-utils/blob/master/string.go