From 041ebacb8ccb699cd5aaaeea42daef1e10b933c7 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 01:20:18 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gstr=E5=8C=85=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_example_test.go | 1538 ++++++++++++++++++++++++++++++ 1 file changed, 1538 insertions(+) create mode 100644 text/gstr/gstr_z_example_test.go diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go new file mode 100644 index 000000000..0bbfc8415 --- /dev/null +++ b/text/gstr/gstr_z_example_test.go @@ -0,0 +1,1538 @@ +package gstr + +import ( + "fmt" + + "github.com/gogf/gf/text/gstr" +) + +func ExampleAddSlashes() { + var str string + str = `'aa'"bb"cc\r\n\d\t` + rsStr := gstr.AddSlashes(str) + fmt.Println(rsStr) + + // Output: + // \'aa\'\"bb\"cc\\r\\n\\d\\t +} + +func ExampleCaseCamel() { + var str string + str = `goframe_is very nice.to-use` + rsStr := gstr.CaseCamel(str) + fmt.Println(rsStr) + + // Output: + // GoframeIsVeryNiceToUse +} + +func ExampleCaseCamelLower() { + var str string + str = `goframe_is very nice.to-use` + rsStr := gstr.CaseCamelLower(str) + fmt.Println(rsStr) + + // Output: + // goframeIsVeryNiceToUse +} + +func ExampleCaseDelimited() { + var str string + var del uint8 + str = `goframe_is_very-nice.to-use` + del = 35 + rsStr := gstr.CaseDelimited(str, del) + fmt.Println(rsStr) + + // Output: + // goframe#is#very#nice#to#use +} + +func ExampleCaseDelimitedScreaming() { + var str string + var del uint8 + var screaming bool + str = `goframe_is Very Nice.to-use` + del = 35 + screaming = true + rsStr := gstr.CaseDelimitedScreaming(str, del, screaming) + fmt.Println(rsStr) + + // Output: + // GOFRAME#IS#VERY#NICE#TO#USE +} + +func ExampleCaseKebab() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseKebab(str) + fmt.Println(rsStr) + + // Output: + // goframe-is-very-nice-to-use +} + +func ExampleCaseKebabScreaming() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseKebabScreaming(str) + fmt.Println(rsStr) + + // Output: + // GOFRAME-IS-VERY-NICE-TO-USE +} + +func ExampleCaseSnake() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseSnake(str) + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeFirstUpper() { + var str string + str = `GoframeIsVeryNiceToUse` + rsStr := gstr.CaseSnakeFirstUpper(str) + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeScreaming() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseSnakeScreaming(str) + fmt.Println(rsStr) + + // Output: + // GOFRAME_IS_VERY_NICE_TO_USE +} + +func ExampleChr() { + var ascii int + ascii = 65 + rsStr := gstr.Chr(ascii) + fmt.Println(rsStr) + + // Output: + // A +} + +func ExampleChunkSplit() { + var body string + var chunkLen int + var end string + body = `1234` + chunkLen = 2 + end = "#" + rsStr := gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + body = `我爱Goframe` + chunkLen = 1 + end = "-" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + body = `1234` + chunkLen = 1 + end = "" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + // May Output: + // 12#34# + // 我-爱-G-o-f-r-a-m-e- + // "1\r\n2\r\n3\r\n4\r\n" +} + +func ExampleCompare() { + var a string + var b string + + a = "C" + b = "C" + rsStr := gstr.Compare(a, b) + fmt.Println(rsStr) + + a = "A" + b = "B" + rsStr = gstr.Compare(a, b) + fmt.Println(rsStr) + + a = "C" + b = "B" + rsStr = gstr.Compare(a, b) + fmt.Println(rsStr) + + // Output: + // 0 + // -1 + // 1 +} + +func ExampleCompareVersion() { + var a string + var b string + + a = "v2.11.9" + b = "v2.10.8" + + rsStr := gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + a = "A.10.8" + b = "A.19.7" + rsStr = gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + a = "2.8.beta" + b = "2.8" + rsStr = gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleCompareVersionGo() { + var a string + var b string + + a = "v2.11.9" + b = "v2.10.8" + rsStr := gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + a = "v0.0.2-20180626092158-b2ccc119800e" + b = "v1.0.1-20190626092158-b2ccc519800e" + rsStr = gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + a = "v4.20.1" + b = "v4.20.1+incompatible" + rsStr = gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleContains() { + var str, substr string + str = `goframe_is Very Nice.to-use` + substr = `goframe` + rsStr := gstr.Contains(str, substr) + fmt.Println(rsStr) + + substr = `Goframe` + rsStr = gstr.Contains(str, substr) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleContainsAny() { + var s, chars string + s = `goframe_is Very Nice.to-use` + chars = "g" + rsStr := gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + chars = "G" + rsStr = gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + chars = "Nice" + rsStr = gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + // Output: + // true + // false + // true +} + +func ExampleContainsI() { + var str, substr string + str = `goframe_is Very Nice.to-use` + + substr = "go" + rsStr := gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + substr = "Go" + rsStr = gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + substr = "Golang" + rsStr = gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + // Output: + // true + // true + // false +} + +func ExampleCount() { + var str, substr string + str = `goframe_is Very Nice.to-use` + + substr = "goframe" + rsStr := gstr.Count(str, substr) + fmt.Println(rsStr) + + substr = "golang" + rsStr = gstr.Count(str, substr) + fmt.Println(rsStr) + + // Output: + // 1 + // 0 +} + +func ExampleCountChars() { + var str string + var noSpace bool + str = `goframe_is Very Nice.to-use` + + rsStr := gstr.CountChars(str) + fmt.Println(rsStr) + + noSpace = true + rsStr = gstr.CountChars(str, noSpace) + fmt.Println(rsStr) + + // Output: + // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] + // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] +} + +func ExampleCountI() { + var s, substr string + s = `goframe_is Very Nice.to-use` + + substr = "goframe" + rsStr := gstr.CountI(s, substr) + fmt.Println(rsStr) + + substr = "golang" + rsStr = gstr.CountI(s, substr) + fmt.Println(rsStr) + + // Output: + // 1 + // 0 +} + +func ExampleCountWords() { + var str string + str = `goframe is Very Nice to use ! goframe Very Nice !` + rsStr := gstr.CountWords(str) + fmt.Println(rsStr) + + // Output: + // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1] +} + +func ExampleEqual() { + var a, b string + a = `A` + b = `a` + rsStr := gstr.Equal(a, b) + fmt.Println(rsStr) + + a = `A` + b = `B` + rsStr = gstr.Equal(a, b) + fmt.Println(rsStr) + + a = `C` + b = `B` + rsStr = gstr.Equal(a, b) + fmt.Println(rsStr) + + // Output: + // true + // false + // false +} + +func ExampleExplode() { + var delimiter, str string + str = `goframe_is_Very_Nice_to_use` + delimiter = "_" + rsStr := gstr.Explode(delimiter, str) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to use] +} + +func ExampleFields() { + var str string + str = `goframe is Very Nice to-use` + rsStr := gstr.Fields(str) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to-use] +} + +func ExampleHasPrefix() { + var s, prefix string + s = `goframe_is Very Nice.to-use` + + prefix = "goframe" + rsStr := gstr.HasPrefix(s, prefix) + fmt.Println(rsStr) + + prefix = "Goframe" + rsStr = gstr.HasPrefix(s, prefix) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleHasSuffix() { + var s, prefix string + s = `goframe_is Very Nice.to-use` + + prefix = "use" + rsStr := gstr.HasSuffix(s, prefix) + fmt.Println(rsStr) + + prefix = "Use" + rsStr = gstr.HasSuffix(s, prefix) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleHideStr() { + var str string + var percent int + var hide string + + str = `1234567890` + percent = 30 + hide = `@` + rsStr := gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + str = `AAAAAAAAAA` + percent = 60 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + str = `ABCDEFGHIJ` + percent = 10 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + // Output: + // 1234@@@890 + // AA@@@@@@AA + // ABCDE@GHIJ +} + +func ExampleImplode() { + var glue string + var pieces []string + pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} + glue = "-" + rsStr := gstr.Implode(glue, pieces) + fmt.Println(rsStr) + + // Output: + // goframe-is-Very-Nice-to-use +} + +func ExampleInArray() { + var a []string + var s string + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "goframe" + rsStr := gstr.InArray(a, s) + fmt.Println(rsStr) + + s = "golang" + rsStr = gstr.InArray(a, s) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsLetterLower() { + var b byte + b = 65 // In ASCII is "a" + rsStr := gstr.IsLetterLower(b) + fmt.Println(rsStr) + + b = 97 // In ASCII is "A" + rsStr = gstr.IsLetterLower(b) + fmt.Println(rsStr) + + // Output: + // false + // true +} + +func ExampleIsLetterUpper() { + var b byte + b = 65 // In ASCII is "a" + rsStr := gstr.IsLetterUpper(b) + fmt.Println(rsStr) + + b = 97 // In ASCII is "A" + rsStr = gstr.IsLetterUpper(b) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsNumeric() { + var s string + + s = "88" + rsStr := gstr.IsNumeric(s) + fmt.Println(rsStr) + + s = "aa66bb88" + rsStr = gstr.IsNumeric(s) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsSubDomain() { + var subDomain, mainDomain string + + subDomain = `s.goframe.org` + mainDomain = `goframe.org` + rsStr := gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + subDomain = `s.s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + subDomain = `s.s.goframe.org` + mainDomain = `*goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + // Output: + // true + // true + // false +} + +func ExampleJoin() { + var array []string + var sep string + + array = []string{"goframe", "is", "Very", "Nice", "to", "use"} + sep = `,` + rsStr := gstr.Join(array, sep) + fmt.Println(rsStr) + + // Output: + // goframe,is,Very,Nice,to,use +} + +func ExampleJoinAny() { + var sep string + + sep = `@` + arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} + rsStr := gstr.JoinAny(arr1, sep) + fmt.Println(rsStr) + + sep = `|` + type StructA struct { + Name string + Age int + } + arr2 := []StructA{ + {"Mary", 18}, + {"Jack", 18}, + {"Lucy", 18}, + } + rsStr = gstr.JoinAny(arr2, sep) + fmt.Println(rsStr) + + // Output: + // goframe@is@Very@Nice@to@use + // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} +} + +func ExampleLcFirst() { + var str string + str = `Goframe` + rsStr := gstr.LcFirst(str) + fmt.Println(rsStr) + + str = `Goframe is Very Nice to use.` + rsStr = gstr.LcFirst(str) + fmt.Println(rsStr) + + // Output: + // goframe + // goframe is Very Nice to use. +} + +func ExampleLenRune() { + var str string + str = `goframe is Very Nice to use` + rsStr := gstr.LenRune(str) + fmt.Println(rsStr) + + str = `123 4567 890` + rsStr = gstr.LenRune(str) + fmt.Println(rsStr) + + // Output: + // 27 + // 12 +} + +func ExampleLevenshtein() { + var str1, str2 string + var costIns, costRep, costDel int + str1 = "Hello World" + str2 = "ello World" + + costIns = 1 + costRep = 1 + costDel = 1 + rsStr := gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + fmt.Println(rsStr) + + str1 = "Hello World" + str2 = "ello Worles" + costIns = 10 + costRep = 20 + costDel = 30 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + fmt.Println(rsStr) + + // Output: + // 1 + // 60 +} + +func ExampleNl2Br() { + var str string + str = `goframe +is +Very +Nice +to +use` + rsStr := gstr.Nl2Br(str) + fmt.Println(rsStr) + + // Output: + // goframe
is
Very
Nice
to
use +} + +func ExampleNumberFormat() { + var number float64 + var decimals int + var decPoint string + var thousandsSep string + + number = 123456 + decimals = 2 + decPoint = "." + thousandsSep = "," + rsStr := gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + number = 1234.56 + decimals = 1 + decPoint = "," + thousandsSep = " " + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + number = 1234.5678 + decimals = 3 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + // Output: + // 123,456.00 + // 1 234,6 + // 1,234.568 +} + +func ExampleOctStr() { + var str string + str = `\346\200\241` + rsStr := gstr.OctStr(str) + fmt.Println(rsStr) + + // Output: + // 怡 +} + +func ExampleOrd() { + var str string + str = `goframe` + rsStr := gstr.Ord(str) + fmt.Println(rsStr) + + // Output: + // 103 +} + +func ExampleParse() { + var str string + + str = `v1=m&v2=n` + rsStr, _ := gstr.Parse(str) + fmt.Println(rsStr) + + str = `v[a][a]=m&v[a][b]=n` + rsStr, _ = gstr.Parse(str) + fmt.Println(rsStr) + + // 目前不支持嵌套切片。 + str = `v[][]=m&v[][]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + fmt.Println("Error:", err) + } + fmt.Println(rsStr) + + // 会产生错误 + str = `v=m&v[a]=n` + rsStr, err = gstr.Parse(str) + if err != nil { + fmt.Println("Error:", err) + } + fmt.Println(rsStr) + + str = `a .[[b=c` + rsStr, _ = gstr.Parse(str) + fmt.Println(rsStr) + + // Output: + // map[v1:m v2:n] + // map[v:map[a:map[a:m b:n]]] + // map[v:map[]] + // Error: expected type 'map[string]interface{}' for key 'v', but got 'string' + // map[] + // map[a___[b:c] +} + +func ExamplePos() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.Pos(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.Pos(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.Pos(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.Pos(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosI() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosI(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosI(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosI(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosI(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosIRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosIRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosIRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosR() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosR(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosR(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosR(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosR(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosRI() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRI(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRI(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRI(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRI(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 + +} + +func ExamplePosRIRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRIRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRIRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosRRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExampleQuoteMeta() { + var str string + str = `.\+?[^]()` + rsStr := gstr.QuoteMeta(str) + fmt.Println(rsStr) + + // Output: + // \.\\\+\?\[\^\]\(\) + +} + +func ExampleRepeat() { + var input string + var multiplier int + input = `goframe ` + multiplier = 3 + rsStr := gstr.Repeat(input, multiplier) + fmt.Println(rsStr) + + // Output: + // goframe goframe goframe +} + +func ExampleReplace() { + var origin, search, replace string + var count int + + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + rsStr := gstr.Replace(origin, search, replace) + fmt.Println(rsStr) + + count = 2 + rsStr = gstr.Replace(origin, search, replace, count) + fmt.Println(rsStr) + + // Output: + // goframe+is+Very+Nice+to+use! + // goframe+is+Very_Nice_to_use! +} + +func ExampleReplaceByArray() { + var origin string + var array []string + + origin = `Golang is Very Good` + + array = []string{"o", "O"} + rsStr := gstr.ReplaceByArray(origin, array) + fmt.Println(rsStr) + + array = []string{"Golang", "Goframe", "Good", "Nice"} + rsStr = gstr.ReplaceByArray(origin, array) + fmt.Println(rsStr) + + // Output: + // GOlang is Very GOOd + // Goframe is Very Nice +} + +func ExampleReplaceByMap() { + var origin string + var replaces map[string]string + + origin = `Golang is Very Good` + + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr := gstr.ReplaceByMap(origin, replaces) + fmt.Println(rsStr) + + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + fmt.Println(rsStr) + + // Output: + // Goframe is Very Nice + // Golang is Very Good +} + +func ExampleReplaceI() { + var origin, search, replace string + var count int + origin = `goframe_is Very Nice.to-use` + search = `goframe` + replace = `golang` + count = 3 + rsStr := gstr.ReplaceI(origin, search, replace, count) + fmt.Println(rsStr) + + // Output: + // +} + +func ExampleReplaceIByArray() { + var origin string + var replaces []string + replaces = []string{ + "frame", + "lang", + "nice", + "goframe", + } + origin = `goframe Nice` + rsStr := gstr.ReplaceIByArray(origin, replaces) + fmt.Println(rsStr) + + // Output: + // golang goframe +} + +func ExampleReplaceIByMap() { + var origin string + var replaces map[string]string + + origin = `Golang is Very Good` + + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr := gstr.ReplaceIByMap(origin, replaces) + fmt.Println(rsStr) + + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + fmt.Println(rsStr) + + // Output: + // Goframe is Very Nice + // Goframe is Very Nice +} + +func ExampleReverse() { + var str string + str = `Goframe-Nice` + rsStr := gstr.Reverse(str) + fmt.Println(rsStr) + + // Output: + // eciN-emarfoG +} + +func ExampleSearchArray() { + var a []string + var s string + a = []string{ + "goframe", + "is", + "Very", + "Nice", + } + s = `goframe` + rsStr := gstr.SearchArray(a, s) + fmt.Println(rsStr) + + s = `Very` + rsStr = gstr.SearchArray(a, s) + fmt.Println(rsStr) + + s = `use` + rsStr = gstr.SearchArray(a, s) + fmt.Println(rsStr) + + // Output: + // 0 + // 2 + // -1 +} + +func ExampleShuffle() { + var str string + str = `goframe_is Nice.` + rsStr := gstr.Shuffle(str) + fmt.Println(rsStr) + + // Output: + // frg.omeie sa_cNi +} + +func ExampleSimilarText() { + var first, second string + var percent *float64 + first = `goframe_is` + second = `go-nice` + rsStr := gstr.SimilarText(first, second, percent) + fmt.Println(rsStr) + + // Output: + // 3 +} + +func ExampleSoundex() { + var str string + var str2 string + str = `Euler` + str2 = `Ellery` + rsStr := gstr.Soundex(str) + rsStr2 := gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + str = `Gauss` + str2 = `Ghosh` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + str = `Lloyd` + str2 = `Ladd` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + // Output: + // E406 E406 + // G020 G020 + // L030 L030 +} + +func ExampleSplit() { + var str, delimiter string + str = `GoFrame_Nice` + delimiter = `ame_N` + rsStr := gstr.Split(str, delimiter) + fmt.Println(rsStr) + + // Output: + // [GoFr ice] +} + +func ExampleSplitAndTrim() { + var str, delimiter, characterMask string + str = ` goframe, is, Very ,Nice ,to, use` + delimiter = `,` + characterMask = ` ` + rsStr := gstr.SplitAndTrim(str, delimiter, characterMask) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to use] +} + +func ExampleStr() { + var haystack, needle string + haystack = `goframe nice` + needle = `fram` + rsStr := gstr.Str(haystack, needle) + fmt.Println(rsStr) + + needle = `ame n` + rsStr = gstr.Str(haystack, needle) + fmt.Println(rsStr) + + // Output: + // me nice + // nice +} + +func ExampleStrEx() { + var haystack, needle string + haystack = `goframe_is Very Nice.to-use` + needle = `goframe` + rsStr := gstr.StrEx(haystack, needle) + fmt.Println(rsStr) + + // Output: + // _is Very Nice.to-use +} + +func ExampleStrLimit() { + var str, suffix string + var length int + str = `goframe_is Very Nice.to-use` + length = 8 + suffix = "suffix" + rsStr := gstr.StrLimit(str, length, suffix) + fmt.Println(rsStr) + + // Output: + // goframe_suffix +} + +func ExampleStrLimitRune() { + var str, suffix string + var length int + str = `goframe_is Very Nice.to-use` + length = 7 + suffix = "suffix" + rsStr := gstr.StrLimitRune(str, length, suffix) + fmt.Println(rsStr) + + // Output: + // goframesuffix +} + +func ExampleStrTill() { + var haystack, needle string + + haystack = `ABCDEFGHIJKLMN` + needle = `C` + rsStr := gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + needle = `E` + rsStr = gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + needle = `G` + rsStr = gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + // Output: + // ABC + // ABCDE + // ABCDEFG +} + +func ExampleStrTillEx() { + var haystack, needle string + haystack = `goframe_is Very Nice.to-use` + needle = `frame` + rsStr := gstr.StrTillEx(haystack, needle) + fmt.Println(rsStr) + + haystack = `goframe_is Very Nice.to-use` + needle = `to` + rsStr = gstr.StrTillEx(haystack, needle) + fmt.Println(rsStr) + + // Output: + // go + // goframe_is Very Nice. +} + +func ExampleStripSlashes() { + var str string + str = `goframe "is" Very Nice to use` + rsStr := gstr.StripSlashes(str) + fmt.Println(rsStr) + + // Output: + // +} + +func ExampleSubStr() { + var str string + var start, length int + str = `GoFrame Nice` + start = 0 + length = 2 + subStr := gstr.SubStr(str, start, length) + fmt.Println(subStr) + + str = `GoFrame Nice` + start = 5 + length = 6 + subStr = gstr.SubStr(str, start, length) + fmt.Println(subStr) + + // Output: + // Go + // me Nic +} + +func ExampleSubStrRune() { + var str string + var start, length int + str = `GoFrame Nice` + start = 5 + length = 4 + subStr := gstr.SubStrRune(str, start, length) + fmt.Println(subStr) + + // Output: + // me N +} + +func ExampleToLower() { + var s string + s = `GoFRAME_IS VERY NICE.TO-USE` + rsStr := gstr.ToLower(s) + fmt.Println(rsStr) + + // Output: + // goframe_is very nice.to-use +} + +func ExampleToUpper() { + var s string + s = `goframe_is Very Nice.to-use` + rsStr := gstr.ToUpper(s) + fmt.Println(rsStr) + + // Output: + // GOFRAME_IS VERY NICE.TO-USE +} + +func ExampleTrim() { + var str, characterMask string + str = `goframe_is Very Nice.to-use` + characterMask = "to-use" + rsStr := gstr.Trim(str, characterMask) + fmt.Println(rsStr) + + // Output: + // goframe_is Very Nice. +} + +func ExampleTrimAll() { + var str, characterMask string + str = `goframe` + characterMask = "g o e" + rsStr := gstr.TrimAll(str, characterMask) + fmt.Println(rsStr) + + // Output: + // fram +} + +func ExampleTrimLeft() { + var str, characterMask string + str = ` goframe is Very Nice to use` + characterMask = "goframeisVery" + rsStr := gstr.TrimLeft(str, characterMask) + fmt.Println(rsStr) + + // Output: + // Nice to use +} + +func ExampleTrimLeftStr() { + var str, cut string + var count int + str = ` goframe is Very Nice.to-use` + cut = " go" + count = 1 + rsStr := gstr.TrimLeftStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // frame is Very Nice.to-use +} + +func ExampleTrimRight() { + var str, characterMask string + str = `goframe_is Very Nice to use ` + rsStr := gstr.TrimRight(str) + fmt.Println(rsStr) + + str = `goframe_is Very Nice to-use ` + characterMask = "to-use" // []byte{"t", "o", "-", "u", "s", "e"} + rsStr = gstr.TrimRight(str, characterMask) + fmt.Println(rsStr) + + // Output: + // goframe_is Very Nice to use + // goframe_is Very Nic +} + +func ExampleTrimRightStr() { + var str, cut string + var count int + str = `aaa,bbb,ccc,ddd,eee,` + cut = "," + count = 1 + rsStr := gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + str = `aaa,bbb,ccc,ddd,eee,,,,,` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + str = `aaa,bbb,ccc,ddd,eee,,,,, ` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee,,,,, +} + +func ExampleTrimStr() { + var str, cut string + var count int + str = `goframe is Very Nice to-use` + cut = "goframe" + rsStr := gstr.TrimStr(str, cut, count) + fmt.Println(rsStr) + + cut = "use" + rsStr = gstr.TrimStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // is Very Nice to-use + // goframe is Very Nice to- +} + +func ExampleUcFirst() { + var s string + s = `goframe is very nice to use.` + rsStr := gstr.UcFirst(s) + fmt.Println(rsStr) + + // Output: + // Goframe is very nice to use. +} + +func ExampleUcWords() { + var str string + str = `goframe is very nice to use.` + rsStr := gstr.UcWords(str) + fmt.Println(rsStr) + + // Output: + // Goframe Is Very Nice To Use. +} + +func ExampleWordWrap() { + var str, br string + var width int + str = `A very long woooooooooooooooooord. and something` + width = 8 + br = "\n" + rsStr := gstr.WordWrap(str, width, br) + fmt.Println(rsStr) + + str = `The quick brown fox jumped over the lazy dog.` + width = 20 + br = "
\n" + rsStr = gstr.WordWrap(str, width, br) + fmt.Printf("%v", rsStr) + + // Output: + // A very + // long + // woooooooooooooooooord. + // and + // something + // The quick brown fox
+ // jumped over the lazy
+ // dog. +} From c663a0d9c5df17fb83cb22c7c044117769580e72 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 10:20:36 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9gstr=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改gstr测试用例的错误 --- text/gstr/gstr_z_example_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go index 0bbfc8415..c083d0528 100644 --- a/text/gstr/gstr_z_example_test.go +++ b/text/gstr/gstr_z_example_test.go @@ -1076,7 +1076,7 @@ func ExampleReplaceI() { fmt.Println(rsStr) // Output: - // + // golang_is Very Nice.to-use } func ExampleReplaceIByArray() { @@ -1164,8 +1164,8 @@ func ExampleShuffle() { rsStr := gstr.Shuffle(str) fmt.Println(rsStr) - // Output: - // frg.omeie sa_cNi + // May Output: + // e giNomescraf._i } func ExampleSimilarText() { @@ -1329,7 +1329,7 @@ func ExampleStripSlashes() { fmt.Println(rsStr) // Output: - // + // goframe "is" Very Nice to use } func ExampleSubStr() { From cffa0983733cd07f33190cedbcbb1be84d579d84 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 10:35:01 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0gstr=E4=B8=BAgf-v2?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go index c083d0528..59d4db9f9 100644 --- a/text/gstr/gstr_z_example_test.go +++ b/text/gstr/gstr_z_example_test.go @@ -3,7 +3,7 @@ package gstr import ( "fmt" - "github.com/gogf/gf/text/gstr" + "github.com/gogf/gf/v2/text/gstr" ) func ExampleAddSlashes() { From 4539a9a4ab9c6b84a353930583b0f32eb0023680 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 10:42:44 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9gstr=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E5=8C=85=E5=90=8D=E4=B8=BAgstr=5Ftest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_example_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go index 59d4db9f9..4a7cdd34d 100644 --- a/text/gstr/gstr_z_example_test.go +++ b/text/gstr/gstr_z_example_test.go @@ -1,8 +1,8 @@ -package gstr +package gstr_test import ( "fmt" - + "github.com/gogf/gf/v2/text/gstr" ) From a27eec77526f16ed05e50b599fb01fe3efe7a9c0 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 10:48:13 +0800 Subject: [PATCH 05/17] Delete gstr_z_example_test.go --- text/gstr/gstr_z_example_test.go | 1538 ------------------------------ 1 file changed, 1538 deletions(-) delete mode 100644 text/gstr/gstr_z_example_test.go diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go deleted file mode 100644 index 4a7cdd34d..000000000 --- a/text/gstr/gstr_z_example_test.go +++ /dev/null @@ -1,1538 +0,0 @@ -package gstr_test - -import ( - "fmt" - - "github.com/gogf/gf/v2/text/gstr" -) - -func ExampleAddSlashes() { - var str string - str = `'aa'"bb"cc\r\n\d\t` - rsStr := gstr.AddSlashes(str) - fmt.Println(rsStr) - - // Output: - // \'aa\'\"bb\"cc\\r\\n\\d\\t -} - -func ExampleCaseCamel() { - var str string - str = `goframe_is very nice.to-use` - rsStr := gstr.CaseCamel(str) - fmt.Println(rsStr) - - // Output: - // GoframeIsVeryNiceToUse -} - -func ExampleCaseCamelLower() { - var str string - str = `goframe_is very nice.to-use` - rsStr := gstr.CaseCamelLower(str) - fmt.Println(rsStr) - - // Output: - // goframeIsVeryNiceToUse -} - -func ExampleCaseDelimited() { - var str string - var del uint8 - str = `goframe_is_very-nice.to-use` - del = 35 - rsStr := gstr.CaseDelimited(str, del) - fmt.Println(rsStr) - - // Output: - // goframe#is#very#nice#to#use -} - -func ExampleCaseDelimitedScreaming() { - var str string - var del uint8 - var screaming bool - str = `goframe_is Very Nice.to-use` - del = 35 - screaming = true - rsStr := gstr.CaseDelimitedScreaming(str, del, screaming) - fmt.Println(rsStr) - - // Output: - // GOFRAME#IS#VERY#NICE#TO#USE -} - -func ExampleCaseKebab() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseKebab(str) - fmt.Println(rsStr) - - // Output: - // goframe-is-very-nice-to-use -} - -func ExampleCaseKebabScreaming() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseKebabScreaming(str) - fmt.Println(rsStr) - - // Output: - // GOFRAME-IS-VERY-NICE-TO-USE -} - -func ExampleCaseSnake() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseSnake(str) - fmt.Println(rsStr) - - // Output: - // goframe_is_very_nice_to_use -} - -func ExampleCaseSnakeFirstUpper() { - var str string - str = `GoframeIsVeryNiceToUse` - rsStr := gstr.CaseSnakeFirstUpper(str) - fmt.Println(rsStr) - - // Output: - // goframe_is_very_nice_to_use -} - -func ExampleCaseSnakeScreaming() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseSnakeScreaming(str) - fmt.Println(rsStr) - - // Output: - // GOFRAME_IS_VERY_NICE_TO_USE -} - -func ExampleChr() { - var ascii int - ascii = 65 - rsStr := gstr.Chr(ascii) - fmt.Println(rsStr) - - // Output: - // A -} - -func ExampleChunkSplit() { - var body string - var chunkLen int - var end string - body = `1234` - chunkLen = 2 - end = "#" - rsStr := gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) - - body = `我爱Goframe` - chunkLen = 1 - end = "-" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) - - body = `1234` - chunkLen = 1 - end = "" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) - - // May Output: - // 12#34# - // 我-爱-G-o-f-r-a-m-e- - // "1\r\n2\r\n3\r\n4\r\n" -} - -func ExampleCompare() { - var a string - var b string - - a = "C" - b = "C" - rsStr := gstr.Compare(a, b) - fmt.Println(rsStr) - - a = "A" - b = "B" - rsStr = gstr.Compare(a, b) - fmt.Println(rsStr) - - a = "C" - b = "B" - rsStr = gstr.Compare(a, b) - fmt.Println(rsStr) - - // Output: - // 0 - // -1 - // 1 -} - -func ExampleCompareVersion() { - var a string - var b string - - a = "v2.11.9" - b = "v2.10.8" - - rsStr := gstr.CompareVersion(a, b) - fmt.Println(rsStr) - - a = "A.10.8" - b = "A.19.7" - rsStr = gstr.CompareVersion(a, b) - fmt.Println(rsStr) - - a = "2.8.beta" - b = "2.8" - rsStr = gstr.CompareVersion(a, b) - fmt.Println(rsStr) - - // Output: - // 1 - // -1 - // 0 -} - -func ExampleCompareVersionGo() { - var a string - var b string - - a = "v2.11.9" - b = "v2.10.8" - rsStr := gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) - - a = "v0.0.2-20180626092158-b2ccc119800e" - b = "v1.0.1-20190626092158-b2ccc519800e" - rsStr = gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) - - a = "v4.20.1" - b = "v4.20.1+incompatible" - rsStr = gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) - - // Output: - // 1 - // -1 - // 0 -} - -func ExampleContains() { - var str, substr string - str = `goframe_is Very Nice.to-use` - substr = `goframe` - rsStr := gstr.Contains(str, substr) - fmt.Println(rsStr) - - substr = `Goframe` - rsStr = gstr.Contains(str, substr) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleContainsAny() { - var s, chars string - s = `goframe_is Very Nice.to-use` - chars = "g" - rsStr := gstr.ContainsAny(s, chars) - fmt.Println(rsStr) - - chars = "G" - rsStr = gstr.ContainsAny(s, chars) - fmt.Println(rsStr) - - chars = "Nice" - rsStr = gstr.ContainsAny(s, chars) - fmt.Println(rsStr) - - // Output: - // true - // false - // true -} - -func ExampleContainsI() { - var str, substr string - str = `goframe_is Very Nice.to-use` - - substr = "go" - rsStr := gstr.ContainsI(str, substr) - fmt.Println(rsStr) - - substr = "Go" - rsStr = gstr.ContainsI(str, substr) - fmt.Println(rsStr) - - substr = "Golang" - rsStr = gstr.ContainsI(str, substr) - fmt.Println(rsStr) - - // Output: - // true - // true - // false -} - -func ExampleCount() { - var str, substr string - str = `goframe_is Very Nice.to-use` - - substr = "goframe" - rsStr := gstr.Count(str, substr) - fmt.Println(rsStr) - - substr = "golang" - rsStr = gstr.Count(str, substr) - fmt.Println(rsStr) - - // Output: - // 1 - // 0 -} - -func ExampleCountChars() { - var str string - var noSpace bool - str = `goframe_is Very Nice.to-use` - - rsStr := gstr.CountChars(str) - fmt.Println(rsStr) - - noSpace = true - rsStr = gstr.CountChars(str, noSpace) - fmt.Println(rsStr) - - // Output: - // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] - // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] -} - -func ExampleCountI() { - var s, substr string - s = `goframe_is Very Nice.to-use` - - substr = "goframe" - rsStr := gstr.CountI(s, substr) - fmt.Println(rsStr) - - substr = "golang" - rsStr = gstr.CountI(s, substr) - fmt.Println(rsStr) - - // Output: - // 1 - // 0 -} - -func ExampleCountWords() { - var str string - str = `goframe is Very Nice to use ! goframe Very Nice !` - rsStr := gstr.CountWords(str) - fmt.Println(rsStr) - - // Output: - // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1] -} - -func ExampleEqual() { - var a, b string - a = `A` - b = `a` - rsStr := gstr.Equal(a, b) - fmt.Println(rsStr) - - a = `A` - b = `B` - rsStr = gstr.Equal(a, b) - fmt.Println(rsStr) - - a = `C` - b = `B` - rsStr = gstr.Equal(a, b) - fmt.Println(rsStr) - - // Output: - // true - // false - // false -} - -func ExampleExplode() { - var delimiter, str string - str = `goframe_is_Very_Nice_to_use` - delimiter = "_" - rsStr := gstr.Explode(delimiter, str) - fmt.Println(rsStr) - - // Output: - // [goframe is Very Nice to use] -} - -func ExampleFields() { - var str string - str = `goframe is Very Nice to-use` - rsStr := gstr.Fields(str) - fmt.Println(rsStr) - - // Output: - // [goframe is Very Nice to-use] -} - -func ExampleHasPrefix() { - var s, prefix string - s = `goframe_is Very Nice.to-use` - - prefix = "goframe" - rsStr := gstr.HasPrefix(s, prefix) - fmt.Println(rsStr) - - prefix = "Goframe" - rsStr = gstr.HasPrefix(s, prefix) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleHasSuffix() { - var s, prefix string - s = `goframe_is Very Nice.to-use` - - prefix = "use" - rsStr := gstr.HasSuffix(s, prefix) - fmt.Println(rsStr) - - prefix = "Use" - rsStr = gstr.HasSuffix(s, prefix) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleHideStr() { - var str string - var percent int - var hide string - - str = `1234567890` - percent = 30 - hide = `@` - rsStr := gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) - - str = `AAAAAAAAAA` - percent = 60 - hide = `@` - rsStr = gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) - - str = `ABCDEFGHIJ` - percent = 10 - hide = `@` - rsStr = gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) - - // Output: - // 1234@@@890 - // AA@@@@@@AA - // ABCDE@GHIJ -} - -func ExampleImplode() { - var glue string - var pieces []string - pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} - glue = "-" - rsStr := gstr.Implode(glue, pieces) - fmt.Println(rsStr) - - // Output: - // goframe-is-Very-Nice-to-use -} - -func ExampleInArray() { - var a []string - var s string - a = []string{"goframe", "is", "Very", "Nice", "to", "use"} - s = "goframe" - rsStr := gstr.InArray(a, s) - fmt.Println(rsStr) - - s = "golang" - rsStr = gstr.InArray(a, s) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleIsLetterLower() { - var b byte - b = 65 // In ASCII is "a" - rsStr := gstr.IsLetterLower(b) - fmt.Println(rsStr) - - b = 97 // In ASCII is "A" - rsStr = gstr.IsLetterLower(b) - fmt.Println(rsStr) - - // Output: - // false - // true -} - -func ExampleIsLetterUpper() { - var b byte - b = 65 // In ASCII is "a" - rsStr := gstr.IsLetterUpper(b) - fmt.Println(rsStr) - - b = 97 // In ASCII is "A" - rsStr = gstr.IsLetterUpper(b) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleIsNumeric() { - var s string - - s = "88" - rsStr := gstr.IsNumeric(s) - fmt.Println(rsStr) - - s = "aa66bb88" - rsStr = gstr.IsNumeric(s) - fmt.Println(rsStr) - - // Output: - // true - // false -} - -func ExampleIsSubDomain() { - var subDomain, mainDomain string - - subDomain = `s.goframe.org` - mainDomain = `goframe.org` - rsStr := gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) - - subDomain = `s.s.goframe.org` - mainDomain = `goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) - - subDomain = `s.s.goframe.org` - mainDomain = `*goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) - - // Output: - // true - // true - // false -} - -func ExampleJoin() { - var array []string - var sep string - - array = []string{"goframe", "is", "Very", "Nice", "to", "use"} - sep = `,` - rsStr := gstr.Join(array, sep) - fmt.Println(rsStr) - - // Output: - // goframe,is,Very,Nice,to,use -} - -func ExampleJoinAny() { - var sep string - - sep = `@` - arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} - rsStr := gstr.JoinAny(arr1, sep) - fmt.Println(rsStr) - - sep = `|` - type StructA struct { - Name string - Age int - } - arr2 := []StructA{ - {"Mary", 18}, - {"Jack", 18}, - {"Lucy", 18}, - } - rsStr = gstr.JoinAny(arr2, sep) - fmt.Println(rsStr) - - // Output: - // goframe@is@Very@Nice@to@use - // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} -} - -func ExampleLcFirst() { - var str string - str = `Goframe` - rsStr := gstr.LcFirst(str) - fmt.Println(rsStr) - - str = `Goframe is Very Nice to use.` - rsStr = gstr.LcFirst(str) - fmt.Println(rsStr) - - // Output: - // goframe - // goframe is Very Nice to use. -} - -func ExampleLenRune() { - var str string - str = `goframe is Very Nice to use` - rsStr := gstr.LenRune(str) - fmt.Println(rsStr) - - str = `123 4567 890` - rsStr = gstr.LenRune(str) - fmt.Println(rsStr) - - // Output: - // 27 - // 12 -} - -func ExampleLevenshtein() { - var str1, str2 string - var costIns, costRep, costDel int - str1 = "Hello World" - str2 = "ello World" - - costIns = 1 - costRep = 1 - costDel = 1 - rsStr := gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - fmt.Println(rsStr) - - str1 = "Hello World" - str2 = "ello Worles" - costIns = 10 - costRep = 20 - costDel = 30 - rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - fmt.Println(rsStr) - - // Output: - // 1 - // 60 -} - -func ExampleNl2Br() { - var str string - str = `goframe -is -Very -Nice -to -use` - rsStr := gstr.Nl2Br(str) - fmt.Println(rsStr) - - // Output: - // goframe
is
Very
Nice
to
use -} - -func ExampleNumberFormat() { - var number float64 - var decimals int - var decPoint string - var thousandsSep string - - number = 123456 - decimals = 2 - decPoint = "." - thousandsSep = "," - rsStr := gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) - - number = 1234.56 - decimals = 1 - decPoint = "," - thousandsSep = " " - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) - - number = 1234.5678 - decimals = 3 - decPoint = "." - thousandsSep = "," - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) - - // Output: - // 123,456.00 - // 1 234,6 - // 1,234.568 -} - -func ExampleOctStr() { - var str string - str = `\346\200\241` - rsStr := gstr.OctStr(str) - fmt.Println(rsStr) - - // Output: - // 怡 -} - -func ExampleOrd() { - var str string - str = `goframe` - rsStr := gstr.Ord(str) - fmt.Println(rsStr) - - // Output: - // 103 -} - -func ExampleParse() { - var str string - - str = `v1=m&v2=n` - rsStr, _ := gstr.Parse(str) - fmt.Println(rsStr) - - str = `v[a][a]=m&v[a][b]=n` - rsStr, _ = gstr.Parse(str) - fmt.Println(rsStr) - - // 目前不支持嵌套切片。 - str = `v[][]=m&v[][]=n` - rsStr, err := gstr.Parse(str) - if err != nil { - fmt.Println("Error:", err) - } - fmt.Println(rsStr) - - // 会产生错误 - str = `v=m&v[a]=n` - rsStr, err = gstr.Parse(str) - if err != nil { - fmt.Println("Error:", err) - } - fmt.Println(rsStr) - - str = `a .[[b=c` - rsStr, _ = gstr.Parse(str) - fmt.Println(rsStr) - - // Output: - // map[v1:m v2:n] - // map[v:map[a:map[a:m b:n]]] - // map[v:map[]] - // Error: expected type 'map[string]interface{}' for key 'v', but got 'string' - // map[] - // map[a___[b:c] -} - -func ExamplePos() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.Pos(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.Pos(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.Pos(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.Pos(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExamplePosI() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosI(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosI(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosI(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosI(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // 16 -} - -func ExamplePosIRune() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosIRune(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosIRune(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // 16 -} - -func ExamplePosR() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosR(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosR(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosR(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosR(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExamplePosRI() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRI(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosRI(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosRI(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosRI(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // 16 - -} - -func ExamplePosRIRune() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRIRune(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosRIRune(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // 16 -} - -func ExamplePosRRune() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRRune(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosRRune(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExamplePosRune() { - var haystack, needle string - var startOffset int - - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRune(haystack, needle) - fmt.Println(rsStr) - - startOffset = 16 - rsStr = gstr.PosRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - startOffset = 17 - rsStr = gstr.PosRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosRune(haystack, needle) - fmt.Println(rsStr) - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExampleQuoteMeta() { - var str string - str = `.\+?[^]()` - rsStr := gstr.QuoteMeta(str) - fmt.Println(rsStr) - - // Output: - // \.\\\+\?\[\^\]\(\) - -} - -func ExampleRepeat() { - var input string - var multiplier int - input = `goframe ` - multiplier = 3 - rsStr := gstr.Repeat(input, multiplier) - fmt.Println(rsStr) - - // Output: - // goframe goframe goframe -} - -func ExampleReplace() { - var origin, search, replace string - var count int - - origin = `goframe_is_Very_Nice_to_use!` - search = `_` - replace = `+` - rsStr := gstr.Replace(origin, search, replace) - fmt.Println(rsStr) - - count = 2 - rsStr = gstr.Replace(origin, search, replace, count) - fmt.Println(rsStr) - - // Output: - // goframe+is+Very+Nice+to+use! - // goframe+is+Very_Nice_to_use! -} - -func ExampleReplaceByArray() { - var origin string - var array []string - - origin = `Golang is Very Good` - - array = []string{"o", "O"} - rsStr := gstr.ReplaceByArray(origin, array) - fmt.Println(rsStr) - - array = []string{"Golang", "Goframe", "Good", "Nice"} - rsStr = gstr.ReplaceByArray(origin, array) - fmt.Println(rsStr) - - // Output: - // GOlang is Very GOOd - // Goframe is Very Nice -} - -func ExampleReplaceByMap() { - var origin string - var replaces map[string]string - - origin = `Golang is Very Good` - - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", - } - rsStr := gstr.ReplaceByMap(origin, replaces) - fmt.Println(rsStr) - - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", - } - rsStr = gstr.ReplaceByMap(origin, replaces) - fmt.Println(rsStr) - - // Output: - // Goframe is Very Nice - // Golang is Very Good -} - -func ExampleReplaceI() { - var origin, search, replace string - var count int - origin = `goframe_is Very Nice.to-use` - search = `goframe` - replace = `golang` - count = 3 - rsStr := gstr.ReplaceI(origin, search, replace, count) - fmt.Println(rsStr) - - // Output: - // golang_is Very Nice.to-use -} - -func ExampleReplaceIByArray() { - var origin string - var replaces []string - replaces = []string{ - "frame", - "lang", - "nice", - "goframe", - } - origin = `goframe Nice` - rsStr := gstr.ReplaceIByArray(origin, replaces) - fmt.Println(rsStr) - - // Output: - // golang goframe -} - -func ExampleReplaceIByMap() { - var origin string - var replaces map[string]string - - origin = `Golang is Very Good` - - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", - } - rsStr := gstr.ReplaceIByMap(origin, replaces) - fmt.Println(rsStr) - - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", - } - rsStr = gstr.ReplaceIByMap(origin, replaces) - fmt.Println(rsStr) - - // Output: - // Goframe is Very Nice - // Goframe is Very Nice -} - -func ExampleReverse() { - var str string - str = `Goframe-Nice` - rsStr := gstr.Reverse(str) - fmt.Println(rsStr) - - // Output: - // eciN-emarfoG -} - -func ExampleSearchArray() { - var a []string - var s string - a = []string{ - "goframe", - "is", - "Very", - "Nice", - } - s = `goframe` - rsStr := gstr.SearchArray(a, s) - fmt.Println(rsStr) - - s = `Very` - rsStr = gstr.SearchArray(a, s) - fmt.Println(rsStr) - - s = `use` - rsStr = gstr.SearchArray(a, s) - fmt.Println(rsStr) - - // Output: - // 0 - // 2 - // -1 -} - -func ExampleShuffle() { - var str string - str = `goframe_is Nice.` - rsStr := gstr.Shuffle(str) - fmt.Println(rsStr) - - // May Output: - // e giNomescraf._i -} - -func ExampleSimilarText() { - var first, second string - var percent *float64 - first = `goframe_is` - second = `go-nice` - rsStr := gstr.SimilarText(first, second, percent) - fmt.Println(rsStr) - - // Output: - // 3 -} - -func ExampleSoundex() { - var str string - var str2 string - str = `Euler` - str2 = `Ellery` - rsStr := gstr.Soundex(str) - rsStr2 := gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) - - str = `Gauss` - str2 = `Ghosh` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) - - str = `Lloyd` - str2 = `Ladd` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) - - // Output: - // E406 E406 - // G020 G020 - // L030 L030 -} - -func ExampleSplit() { - var str, delimiter string - str = `GoFrame_Nice` - delimiter = `ame_N` - rsStr := gstr.Split(str, delimiter) - fmt.Println(rsStr) - - // Output: - // [GoFr ice] -} - -func ExampleSplitAndTrim() { - var str, delimiter, characterMask string - str = ` goframe, is, Very ,Nice ,to, use` - delimiter = `,` - characterMask = ` ` - rsStr := gstr.SplitAndTrim(str, delimiter, characterMask) - fmt.Println(rsStr) - - // Output: - // [goframe is Very Nice to use] -} - -func ExampleStr() { - var haystack, needle string - haystack = `goframe nice` - needle = `fram` - rsStr := gstr.Str(haystack, needle) - fmt.Println(rsStr) - - needle = `ame n` - rsStr = gstr.Str(haystack, needle) - fmt.Println(rsStr) - - // Output: - // me nice - // nice -} - -func ExampleStrEx() { - var haystack, needle string - haystack = `goframe_is Very Nice.to-use` - needle = `goframe` - rsStr := gstr.StrEx(haystack, needle) - fmt.Println(rsStr) - - // Output: - // _is Very Nice.to-use -} - -func ExampleStrLimit() { - var str, suffix string - var length int - str = `goframe_is Very Nice.to-use` - length = 8 - suffix = "suffix" - rsStr := gstr.StrLimit(str, length, suffix) - fmt.Println(rsStr) - - // Output: - // goframe_suffix -} - -func ExampleStrLimitRune() { - var str, suffix string - var length int - str = `goframe_is Very Nice.to-use` - length = 7 - suffix = "suffix" - rsStr := gstr.StrLimitRune(str, length, suffix) - fmt.Println(rsStr) - - // Output: - // goframesuffix -} - -func ExampleStrTill() { - var haystack, needle string - - haystack = `ABCDEFGHIJKLMN` - needle = `C` - rsStr := gstr.StrTill(haystack, needle) - fmt.Println(rsStr) - - needle = `E` - rsStr = gstr.StrTill(haystack, needle) - fmt.Println(rsStr) - - needle = `G` - rsStr = gstr.StrTill(haystack, needle) - fmt.Println(rsStr) - - // Output: - // ABC - // ABCDE - // ABCDEFG -} - -func ExampleStrTillEx() { - var haystack, needle string - haystack = `goframe_is Very Nice.to-use` - needle = `frame` - rsStr := gstr.StrTillEx(haystack, needle) - fmt.Println(rsStr) - - haystack = `goframe_is Very Nice.to-use` - needle = `to` - rsStr = gstr.StrTillEx(haystack, needle) - fmt.Println(rsStr) - - // Output: - // go - // goframe_is Very Nice. -} - -func ExampleStripSlashes() { - var str string - str = `goframe "is" Very Nice to use` - rsStr := gstr.StripSlashes(str) - fmt.Println(rsStr) - - // Output: - // goframe "is" Very Nice to use -} - -func ExampleSubStr() { - var str string - var start, length int - str = `GoFrame Nice` - start = 0 - length = 2 - subStr := gstr.SubStr(str, start, length) - fmt.Println(subStr) - - str = `GoFrame Nice` - start = 5 - length = 6 - subStr = gstr.SubStr(str, start, length) - fmt.Println(subStr) - - // Output: - // Go - // me Nic -} - -func ExampleSubStrRune() { - var str string - var start, length int - str = `GoFrame Nice` - start = 5 - length = 4 - subStr := gstr.SubStrRune(str, start, length) - fmt.Println(subStr) - - // Output: - // me N -} - -func ExampleToLower() { - var s string - s = `GoFRAME_IS VERY NICE.TO-USE` - rsStr := gstr.ToLower(s) - fmt.Println(rsStr) - - // Output: - // goframe_is very nice.to-use -} - -func ExampleToUpper() { - var s string - s = `goframe_is Very Nice.to-use` - rsStr := gstr.ToUpper(s) - fmt.Println(rsStr) - - // Output: - // GOFRAME_IS VERY NICE.TO-USE -} - -func ExampleTrim() { - var str, characterMask string - str = `goframe_is Very Nice.to-use` - characterMask = "to-use" - rsStr := gstr.Trim(str, characterMask) - fmt.Println(rsStr) - - // Output: - // goframe_is Very Nice. -} - -func ExampleTrimAll() { - var str, characterMask string - str = `goframe` - characterMask = "g o e" - rsStr := gstr.TrimAll(str, characterMask) - fmt.Println(rsStr) - - // Output: - // fram -} - -func ExampleTrimLeft() { - var str, characterMask string - str = ` goframe is Very Nice to use` - characterMask = "goframeisVery" - rsStr := gstr.TrimLeft(str, characterMask) - fmt.Println(rsStr) - - // Output: - // Nice to use -} - -func ExampleTrimLeftStr() { - var str, cut string - var count int - str = ` goframe is Very Nice.to-use` - cut = " go" - count = 1 - rsStr := gstr.TrimLeftStr(str, cut, count) - fmt.Println(rsStr) - - // Output: - // frame is Very Nice.to-use -} - -func ExampleTrimRight() { - var str, characterMask string - str = `goframe_is Very Nice to use ` - rsStr := gstr.TrimRight(str) - fmt.Println(rsStr) - - str = `goframe_is Very Nice to-use ` - characterMask = "to-use" // []byte{"t", "o", "-", "u", "s", "e"} - rsStr = gstr.TrimRight(str, characterMask) - fmt.Println(rsStr) - - // Output: - // goframe_is Very Nice to use - // goframe_is Very Nic -} - -func ExampleTrimRightStr() { - var str, cut string - var count int - str = `aaa,bbb,ccc,ddd,eee,` - cut = "," - count = 1 - rsStr := gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) - - str = `aaa,bbb,ccc,ddd,eee,,,,,` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) - - str = `aaa,bbb,ccc,ddd,eee,,,,, ` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) - - // Output: - // aaa,bbb,ccc,ddd,eee - // aaa,bbb,ccc,ddd,eee - // aaa,bbb,ccc,ddd,eee,,,,, -} - -func ExampleTrimStr() { - var str, cut string - var count int - str = `goframe is Very Nice to-use` - cut = "goframe" - rsStr := gstr.TrimStr(str, cut, count) - fmt.Println(rsStr) - - cut = "use" - rsStr = gstr.TrimStr(str, cut, count) - fmt.Println(rsStr) - - // Output: - // is Very Nice to-use - // goframe is Very Nice to- -} - -func ExampleUcFirst() { - var s string - s = `goframe is very nice to use.` - rsStr := gstr.UcFirst(s) - fmt.Println(rsStr) - - // Output: - // Goframe is very nice to use. -} - -func ExampleUcWords() { - var str string - str = `goframe is very nice to use.` - rsStr := gstr.UcWords(str) - fmt.Println(rsStr) - - // Output: - // Goframe Is Very Nice To Use. -} - -func ExampleWordWrap() { - var str, br string - var width int - str = `A very long woooooooooooooooooord. and something` - width = 8 - br = "\n" - rsStr := gstr.WordWrap(str, width, br) - fmt.Println(rsStr) - - str = `The quick brown fox jumped over the lazy dog.` - width = 20 - br = "
\n" - rsStr = gstr.WordWrap(str, width, br) - fmt.Printf("%v", rsStr) - - // Output: - // A very - // long - // woooooooooooooooooord. - // and - // something - // The quick brown fox
- // jumped over the lazy
- // dog. -} From 84046a060a02b46a926e0ce3a86d99d957016a70 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 5 Nov 2021 10:50:15 +0800 Subject: [PATCH 06/17] Package gstr's All Example --- text/gstr/gstr_z_all_example_test.go | 1538 ++++++++++++++++++++++++++ 1 file changed, 1538 insertions(+) create mode 100644 text/gstr/gstr_z_all_example_test.go diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go new file mode 100644 index 000000000..4a7cdd34d --- /dev/null +++ b/text/gstr/gstr_z_all_example_test.go @@ -0,0 +1,1538 @@ +package gstr_test + +import ( + "fmt" + + "github.com/gogf/gf/v2/text/gstr" +) + +func ExampleAddSlashes() { + var str string + str = `'aa'"bb"cc\r\n\d\t` + rsStr := gstr.AddSlashes(str) + fmt.Println(rsStr) + + // Output: + // \'aa\'\"bb\"cc\\r\\n\\d\\t +} + +func ExampleCaseCamel() { + var str string + str = `goframe_is very nice.to-use` + rsStr := gstr.CaseCamel(str) + fmt.Println(rsStr) + + // Output: + // GoframeIsVeryNiceToUse +} + +func ExampleCaseCamelLower() { + var str string + str = `goframe_is very nice.to-use` + rsStr := gstr.CaseCamelLower(str) + fmt.Println(rsStr) + + // Output: + // goframeIsVeryNiceToUse +} + +func ExampleCaseDelimited() { + var str string + var del uint8 + str = `goframe_is_very-nice.to-use` + del = 35 + rsStr := gstr.CaseDelimited(str, del) + fmt.Println(rsStr) + + // Output: + // goframe#is#very#nice#to#use +} + +func ExampleCaseDelimitedScreaming() { + var str string + var del uint8 + var screaming bool + str = `goframe_is Very Nice.to-use` + del = 35 + screaming = true + rsStr := gstr.CaseDelimitedScreaming(str, del, screaming) + fmt.Println(rsStr) + + // Output: + // GOFRAME#IS#VERY#NICE#TO#USE +} + +func ExampleCaseKebab() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseKebab(str) + fmt.Println(rsStr) + + // Output: + // goframe-is-very-nice-to-use +} + +func ExampleCaseKebabScreaming() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseKebabScreaming(str) + fmt.Println(rsStr) + + // Output: + // GOFRAME-IS-VERY-NICE-TO-USE +} + +func ExampleCaseSnake() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseSnake(str) + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeFirstUpper() { + var str string + str = `GoframeIsVeryNiceToUse` + rsStr := gstr.CaseSnakeFirstUpper(str) + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeScreaming() { + var str string + str = `goframe_is Very Nice.to-use` + rsStr := gstr.CaseSnakeScreaming(str) + fmt.Println(rsStr) + + // Output: + // GOFRAME_IS_VERY_NICE_TO_USE +} + +func ExampleChr() { + var ascii int + ascii = 65 + rsStr := gstr.Chr(ascii) + fmt.Println(rsStr) + + // Output: + // A +} + +func ExampleChunkSplit() { + var body string + var chunkLen int + var end string + body = `1234` + chunkLen = 2 + end = "#" + rsStr := gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + body = `我爱Goframe` + chunkLen = 1 + end = "-" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + body = `1234` + chunkLen = 1 + end = "" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + fmt.Println(rsStr) + + // May Output: + // 12#34# + // 我-爱-G-o-f-r-a-m-e- + // "1\r\n2\r\n3\r\n4\r\n" +} + +func ExampleCompare() { + var a string + var b string + + a = "C" + b = "C" + rsStr := gstr.Compare(a, b) + fmt.Println(rsStr) + + a = "A" + b = "B" + rsStr = gstr.Compare(a, b) + fmt.Println(rsStr) + + a = "C" + b = "B" + rsStr = gstr.Compare(a, b) + fmt.Println(rsStr) + + // Output: + // 0 + // -1 + // 1 +} + +func ExampleCompareVersion() { + var a string + var b string + + a = "v2.11.9" + b = "v2.10.8" + + rsStr := gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + a = "A.10.8" + b = "A.19.7" + rsStr = gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + a = "2.8.beta" + b = "2.8" + rsStr = gstr.CompareVersion(a, b) + fmt.Println(rsStr) + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleCompareVersionGo() { + var a string + var b string + + a = "v2.11.9" + b = "v2.10.8" + rsStr := gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + a = "v0.0.2-20180626092158-b2ccc119800e" + b = "v1.0.1-20190626092158-b2ccc519800e" + rsStr = gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + a = "v4.20.1" + b = "v4.20.1+incompatible" + rsStr = gstr.CompareVersionGo(a, b) + fmt.Println(rsStr) + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleContains() { + var str, substr string + str = `goframe_is Very Nice.to-use` + substr = `goframe` + rsStr := gstr.Contains(str, substr) + fmt.Println(rsStr) + + substr = `Goframe` + rsStr = gstr.Contains(str, substr) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleContainsAny() { + var s, chars string + s = `goframe_is Very Nice.to-use` + chars = "g" + rsStr := gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + chars = "G" + rsStr = gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + chars = "Nice" + rsStr = gstr.ContainsAny(s, chars) + fmt.Println(rsStr) + + // Output: + // true + // false + // true +} + +func ExampleContainsI() { + var str, substr string + str = `goframe_is Very Nice.to-use` + + substr = "go" + rsStr := gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + substr = "Go" + rsStr = gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + substr = "Golang" + rsStr = gstr.ContainsI(str, substr) + fmt.Println(rsStr) + + // Output: + // true + // true + // false +} + +func ExampleCount() { + var str, substr string + str = `goframe_is Very Nice.to-use` + + substr = "goframe" + rsStr := gstr.Count(str, substr) + fmt.Println(rsStr) + + substr = "golang" + rsStr = gstr.Count(str, substr) + fmt.Println(rsStr) + + // Output: + // 1 + // 0 +} + +func ExampleCountChars() { + var str string + var noSpace bool + str = `goframe_is Very Nice.to-use` + + rsStr := gstr.CountChars(str) + fmt.Println(rsStr) + + noSpace = true + rsStr = gstr.CountChars(str, noSpace) + fmt.Println(rsStr) + + // Output: + // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] + // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] +} + +func ExampleCountI() { + var s, substr string + s = `goframe_is Very Nice.to-use` + + substr = "goframe" + rsStr := gstr.CountI(s, substr) + fmt.Println(rsStr) + + substr = "golang" + rsStr = gstr.CountI(s, substr) + fmt.Println(rsStr) + + // Output: + // 1 + // 0 +} + +func ExampleCountWords() { + var str string + str = `goframe is Very Nice to use ! goframe Very Nice !` + rsStr := gstr.CountWords(str) + fmt.Println(rsStr) + + // Output: + // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1] +} + +func ExampleEqual() { + var a, b string + a = `A` + b = `a` + rsStr := gstr.Equal(a, b) + fmt.Println(rsStr) + + a = `A` + b = `B` + rsStr = gstr.Equal(a, b) + fmt.Println(rsStr) + + a = `C` + b = `B` + rsStr = gstr.Equal(a, b) + fmt.Println(rsStr) + + // Output: + // true + // false + // false +} + +func ExampleExplode() { + var delimiter, str string + str = `goframe_is_Very_Nice_to_use` + delimiter = "_" + rsStr := gstr.Explode(delimiter, str) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to use] +} + +func ExampleFields() { + var str string + str = `goframe is Very Nice to-use` + rsStr := gstr.Fields(str) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to-use] +} + +func ExampleHasPrefix() { + var s, prefix string + s = `goframe_is Very Nice.to-use` + + prefix = "goframe" + rsStr := gstr.HasPrefix(s, prefix) + fmt.Println(rsStr) + + prefix = "Goframe" + rsStr = gstr.HasPrefix(s, prefix) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleHasSuffix() { + var s, prefix string + s = `goframe_is Very Nice.to-use` + + prefix = "use" + rsStr := gstr.HasSuffix(s, prefix) + fmt.Println(rsStr) + + prefix = "Use" + rsStr = gstr.HasSuffix(s, prefix) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleHideStr() { + var str string + var percent int + var hide string + + str = `1234567890` + percent = 30 + hide = `@` + rsStr := gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + str = `AAAAAAAAAA` + percent = 60 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + str = `ABCDEFGHIJ` + percent = 10 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + fmt.Println(rsStr) + + // Output: + // 1234@@@890 + // AA@@@@@@AA + // ABCDE@GHIJ +} + +func ExampleImplode() { + var glue string + var pieces []string + pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} + glue = "-" + rsStr := gstr.Implode(glue, pieces) + fmt.Println(rsStr) + + // Output: + // goframe-is-Very-Nice-to-use +} + +func ExampleInArray() { + var a []string + var s string + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "goframe" + rsStr := gstr.InArray(a, s) + fmt.Println(rsStr) + + s = "golang" + rsStr = gstr.InArray(a, s) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsLetterLower() { + var b byte + b = 65 // In ASCII is "a" + rsStr := gstr.IsLetterLower(b) + fmt.Println(rsStr) + + b = 97 // In ASCII is "A" + rsStr = gstr.IsLetterLower(b) + fmt.Println(rsStr) + + // Output: + // false + // true +} + +func ExampleIsLetterUpper() { + var b byte + b = 65 // In ASCII is "a" + rsStr := gstr.IsLetterUpper(b) + fmt.Println(rsStr) + + b = 97 // In ASCII is "A" + rsStr = gstr.IsLetterUpper(b) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsNumeric() { + var s string + + s = "88" + rsStr := gstr.IsNumeric(s) + fmt.Println(rsStr) + + s = "aa66bb88" + rsStr = gstr.IsNumeric(s) + fmt.Println(rsStr) + + // Output: + // true + // false +} + +func ExampleIsSubDomain() { + var subDomain, mainDomain string + + subDomain = `s.goframe.org` + mainDomain = `goframe.org` + rsStr := gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + subDomain = `s.s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + subDomain = `s.s.goframe.org` + mainDomain = `*goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + fmt.Println(rsStr) + + // Output: + // true + // true + // false +} + +func ExampleJoin() { + var array []string + var sep string + + array = []string{"goframe", "is", "Very", "Nice", "to", "use"} + sep = `,` + rsStr := gstr.Join(array, sep) + fmt.Println(rsStr) + + // Output: + // goframe,is,Very,Nice,to,use +} + +func ExampleJoinAny() { + var sep string + + sep = `@` + arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} + rsStr := gstr.JoinAny(arr1, sep) + fmt.Println(rsStr) + + sep = `|` + type StructA struct { + Name string + Age int + } + arr2 := []StructA{ + {"Mary", 18}, + {"Jack", 18}, + {"Lucy", 18}, + } + rsStr = gstr.JoinAny(arr2, sep) + fmt.Println(rsStr) + + // Output: + // goframe@is@Very@Nice@to@use + // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} +} + +func ExampleLcFirst() { + var str string + str = `Goframe` + rsStr := gstr.LcFirst(str) + fmt.Println(rsStr) + + str = `Goframe is Very Nice to use.` + rsStr = gstr.LcFirst(str) + fmt.Println(rsStr) + + // Output: + // goframe + // goframe is Very Nice to use. +} + +func ExampleLenRune() { + var str string + str = `goframe is Very Nice to use` + rsStr := gstr.LenRune(str) + fmt.Println(rsStr) + + str = `123 4567 890` + rsStr = gstr.LenRune(str) + fmt.Println(rsStr) + + // Output: + // 27 + // 12 +} + +func ExampleLevenshtein() { + var str1, str2 string + var costIns, costRep, costDel int + str1 = "Hello World" + str2 = "ello World" + + costIns = 1 + costRep = 1 + costDel = 1 + rsStr := gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + fmt.Println(rsStr) + + str1 = "Hello World" + str2 = "ello Worles" + costIns = 10 + costRep = 20 + costDel = 30 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + fmt.Println(rsStr) + + // Output: + // 1 + // 60 +} + +func ExampleNl2Br() { + var str string + str = `goframe +is +Very +Nice +to +use` + rsStr := gstr.Nl2Br(str) + fmt.Println(rsStr) + + // Output: + // goframe
is
Very
Nice
to
use +} + +func ExampleNumberFormat() { + var number float64 + var decimals int + var decPoint string + var thousandsSep string + + number = 123456 + decimals = 2 + decPoint = "." + thousandsSep = "," + rsStr := gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + number = 1234.56 + decimals = 1 + decPoint = "," + thousandsSep = " " + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + number = 1234.5678 + decimals = 3 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + fmt.Println(rsStr) + + // Output: + // 123,456.00 + // 1 234,6 + // 1,234.568 +} + +func ExampleOctStr() { + var str string + str = `\346\200\241` + rsStr := gstr.OctStr(str) + fmt.Println(rsStr) + + // Output: + // 怡 +} + +func ExampleOrd() { + var str string + str = `goframe` + rsStr := gstr.Ord(str) + fmt.Println(rsStr) + + // Output: + // 103 +} + +func ExampleParse() { + var str string + + str = `v1=m&v2=n` + rsStr, _ := gstr.Parse(str) + fmt.Println(rsStr) + + str = `v[a][a]=m&v[a][b]=n` + rsStr, _ = gstr.Parse(str) + fmt.Println(rsStr) + + // 目前不支持嵌套切片。 + str = `v[][]=m&v[][]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + fmt.Println("Error:", err) + } + fmt.Println(rsStr) + + // 会产生错误 + str = `v=m&v[a]=n` + rsStr, err = gstr.Parse(str) + if err != nil { + fmt.Println("Error:", err) + } + fmt.Println(rsStr) + + str = `a .[[b=c` + rsStr, _ = gstr.Parse(str) + fmt.Println(rsStr) + + // Output: + // map[v1:m v2:n] + // map[v:map[a:map[a:m b:n]]] + // map[v:map[]] + // Error: expected type 'map[string]interface{}' for key 'v', but got 'string' + // map[] + // map[a___[b:c] +} + +func ExamplePos() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.Pos(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.Pos(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.Pos(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.Pos(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosI() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosI(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosI(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosI(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosI(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosIRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosIRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosIRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosR() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosR(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosR(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosR(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosR(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosRI() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRI(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRI(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRI(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRI(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 + +} + +func ExamplePosRIRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRIRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRIRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosRRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosRune() { + var haystack, needle string + var startOffset int + + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr := gstr.PosRune(haystack, needle) + fmt.Println(rsStr) + + startOffset = 16 + rsStr = gstr.PosRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + startOffset = 17 + rsStr = gstr.PosRune(haystack, needle, startOffset) + fmt.Println(rsStr) + + needle = `nice` + rsStr = gstr.PosRune(haystack, needle) + fmt.Println(rsStr) + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExampleQuoteMeta() { + var str string + str = `.\+?[^]()` + rsStr := gstr.QuoteMeta(str) + fmt.Println(rsStr) + + // Output: + // \.\\\+\?\[\^\]\(\) + +} + +func ExampleRepeat() { + var input string + var multiplier int + input = `goframe ` + multiplier = 3 + rsStr := gstr.Repeat(input, multiplier) + fmt.Println(rsStr) + + // Output: + // goframe goframe goframe +} + +func ExampleReplace() { + var origin, search, replace string + var count int + + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + rsStr := gstr.Replace(origin, search, replace) + fmt.Println(rsStr) + + count = 2 + rsStr = gstr.Replace(origin, search, replace, count) + fmt.Println(rsStr) + + // Output: + // goframe+is+Very+Nice+to+use! + // goframe+is+Very_Nice_to_use! +} + +func ExampleReplaceByArray() { + var origin string + var array []string + + origin = `Golang is Very Good` + + array = []string{"o", "O"} + rsStr := gstr.ReplaceByArray(origin, array) + fmt.Println(rsStr) + + array = []string{"Golang", "Goframe", "Good", "Nice"} + rsStr = gstr.ReplaceByArray(origin, array) + fmt.Println(rsStr) + + // Output: + // GOlang is Very GOOd + // Goframe is Very Nice +} + +func ExampleReplaceByMap() { + var origin string + var replaces map[string]string + + origin = `Golang is Very Good` + + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr := gstr.ReplaceByMap(origin, replaces) + fmt.Println(rsStr) + + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + fmt.Println(rsStr) + + // Output: + // Goframe is Very Nice + // Golang is Very Good +} + +func ExampleReplaceI() { + var origin, search, replace string + var count int + origin = `goframe_is Very Nice.to-use` + search = `goframe` + replace = `golang` + count = 3 + rsStr := gstr.ReplaceI(origin, search, replace, count) + fmt.Println(rsStr) + + // Output: + // golang_is Very Nice.to-use +} + +func ExampleReplaceIByArray() { + var origin string + var replaces []string + replaces = []string{ + "frame", + "lang", + "nice", + "goframe", + } + origin = `goframe Nice` + rsStr := gstr.ReplaceIByArray(origin, replaces) + fmt.Println(rsStr) + + // Output: + // golang goframe +} + +func ExampleReplaceIByMap() { + var origin string + var replaces map[string]string + + origin = `Golang is Very Good` + + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr := gstr.ReplaceIByMap(origin, replaces) + fmt.Println(rsStr) + + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + fmt.Println(rsStr) + + // Output: + // Goframe is Very Nice + // Goframe is Very Nice +} + +func ExampleReverse() { + var str string + str = `Goframe-Nice` + rsStr := gstr.Reverse(str) + fmt.Println(rsStr) + + // Output: + // eciN-emarfoG +} + +func ExampleSearchArray() { + var a []string + var s string + a = []string{ + "goframe", + "is", + "Very", + "Nice", + } + s = `goframe` + rsStr := gstr.SearchArray(a, s) + fmt.Println(rsStr) + + s = `Very` + rsStr = gstr.SearchArray(a, s) + fmt.Println(rsStr) + + s = `use` + rsStr = gstr.SearchArray(a, s) + fmt.Println(rsStr) + + // Output: + // 0 + // 2 + // -1 +} + +func ExampleShuffle() { + var str string + str = `goframe_is Nice.` + rsStr := gstr.Shuffle(str) + fmt.Println(rsStr) + + // May Output: + // e giNomescraf._i +} + +func ExampleSimilarText() { + var first, second string + var percent *float64 + first = `goframe_is` + second = `go-nice` + rsStr := gstr.SimilarText(first, second, percent) + fmt.Println(rsStr) + + // Output: + // 3 +} + +func ExampleSoundex() { + var str string + var str2 string + str = `Euler` + str2 = `Ellery` + rsStr := gstr.Soundex(str) + rsStr2 := gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + str = `Gauss` + str2 = `Ghosh` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + str = `Lloyd` + str2 = `Ladd` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + fmt.Println(rsStr, rsStr2) + + // Output: + // E406 E406 + // G020 G020 + // L030 L030 +} + +func ExampleSplit() { + var str, delimiter string + str = `GoFrame_Nice` + delimiter = `ame_N` + rsStr := gstr.Split(str, delimiter) + fmt.Println(rsStr) + + // Output: + // [GoFr ice] +} + +func ExampleSplitAndTrim() { + var str, delimiter, characterMask string + str = ` goframe, is, Very ,Nice ,to, use` + delimiter = `,` + characterMask = ` ` + rsStr := gstr.SplitAndTrim(str, delimiter, characterMask) + fmt.Println(rsStr) + + // Output: + // [goframe is Very Nice to use] +} + +func ExampleStr() { + var haystack, needle string + haystack = `goframe nice` + needle = `fram` + rsStr := gstr.Str(haystack, needle) + fmt.Println(rsStr) + + needle = `ame n` + rsStr = gstr.Str(haystack, needle) + fmt.Println(rsStr) + + // Output: + // me nice + // nice +} + +func ExampleStrEx() { + var haystack, needle string + haystack = `goframe_is Very Nice.to-use` + needle = `goframe` + rsStr := gstr.StrEx(haystack, needle) + fmt.Println(rsStr) + + // Output: + // _is Very Nice.to-use +} + +func ExampleStrLimit() { + var str, suffix string + var length int + str = `goframe_is Very Nice.to-use` + length = 8 + suffix = "suffix" + rsStr := gstr.StrLimit(str, length, suffix) + fmt.Println(rsStr) + + // Output: + // goframe_suffix +} + +func ExampleStrLimitRune() { + var str, suffix string + var length int + str = `goframe_is Very Nice.to-use` + length = 7 + suffix = "suffix" + rsStr := gstr.StrLimitRune(str, length, suffix) + fmt.Println(rsStr) + + // Output: + // goframesuffix +} + +func ExampleStrTill() { + var haystack, needle string + + haystack = `ABCDEFGHIJKLMN` + needle = `C` + rsStr := gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + needle = `E` + rsStr = gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + needle = `G` + rsStr = gstr.StrTill(haystack, needle) + fmt.Println(rsStr) + + // Output: + // ABC + // ABCDE + // ABCDEFG +} + +func ExampleStrTillEx() { + var haystack, needle string + haystack = `goframe_is Very Nice.to-use` + needle = `frame` + rsStr := gstr.StrTillEx(haystack, needle) + fmt.Println(rsStr) + + haystack = `goframe_is Very Nice.to-use` + needle = `to` + rsStr = gstr.StrTillEx(haystack, needle) + fmt.Println(rsStr) + + // Output: + // go + // goframe_is Very Nice. +} + +func ExampleStripSlashes() { + var str string + str = `goframe "is" Very Nice to use` + rsStr := gstr.StripSlashes(str) + fmt.Println(rsStr) + + // Output: + // goframe "is" Very Nice to use +} + +func ExampleSubStr() { + var str string + var start, length int + str = `GoFrame Nice` + start = 0 + length = 2 + subStr := gstr.SubStr(str, start, length) + fmt.Println(subStr) + + str = `GoFrame Nice` + start = 5 + length = 6 + subStr = gstr.SubStr(str, start, length) + fmt.Println(subStr) + + // Output: + // Go + // me Nic +} + +func ExampleSubStrRune() { + var str string + var start, length int + str = `GoFrame Nice` + start = 5 + length = 4 + subStr := gstr.SubStrRune(str, start, length) + fmt.Println(subStr) + + // Output: + // me N +} + +func ExampleToLower() { + var s string + s = `GoFRAME_IS VERY NICE.TO-USE` + rsStr := gstr.ToLower(s) + fmt.Println(rsStr) + + // Output: + // goframe_is very nice.to-use +} + +func ExampleToUpper() { + var s string + s = `goframe_is Very Nice.to-use` + rsStr := gstr.ToUpper(s) + fmt.Println(rsStr) + + // Output: + // GOFRAME_IS VERY NICE.TO-USE +} + +func ExampleTrim() { + var str, characterMask string + str = `goframe_is Very Nice.to-use` + characterMask = "to-use" + rsStr := gstr.Trim(str, characterMask) + fmt.Println(rsStr) + + // Output: + // goframe_is Very Nice. +} + +func ExampleTrimAll() { + var str, characterMask string + str = `goframe` + characterMask = "g o e" + rsStr := gstr.TrimAll(str, characterMask) + fmt.Println(rsStr) + + // Output: + // fram +} + +func ExampleTrimLeft() { + var str, characterMask string + str = ` goframe is Very Nice to use` + characterMask = "goframeisVery" + rsStr := gstr.TrimLeft(str, characterMask) + fmt.Println(rsStr) + + // Output: + // Nice to use +} + +func ExampleTrimLeftStr() { + var str, cut string + var count int + str = ` goframe is Very Nice.to-use` + cut = " go" + count = 1 + rsStr := gstr.TrimLeftStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // frame is Very Nice.to-use +} + +func ExampleTrimRight() { + var str, characterMask string + str = `goframe_is Very Nice to use ` + rsStr := gstr.TrimRight(str) + fmt.Println(rsStr) + + str = `goframe_is Very Nice to-use ` + characterMask = "to-use" // []byte{"t", "o", "-", "u", "s", "e"} + rsStr = gstr.TrimRight(str, characterMask) + fmt.Println(rsStr) + + // Output: + // goframe_is Very Nice to use + // goframe_is Very Nic +} + +func ExampleTrimRightStr() { + var str, cut string + var count int + str = `aaa,bbb,ccc,ddd,eee,` + cut = "," + count = 1 + rsStr := gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + str = `aaa,bbb,ccc,ddd,eee,,,,,` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + str = `aaa,bbb,ccc,ddd,eee,,,,, ` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee,,,,, +} + +func ExampleTrimStr() { + var str, cut string + var count int + str = `goframe is Very Nice to-use` + cut = "goframe" + rsStr := gstr.TrimStr(str, cut, count) + fmt.Println(rsStr) + + cut = "use" + rsStr = gstr.TrimStr(str, cut, count) + fmt.Println(rsStr) + + // Output: + // is Very Nice to-use + // goframe is Very Nice to- +} + +func ExampleUcFirst() { + var s string + s = `goframe is very nice to use.` + rsStr := gstr.UcFirst(s) + fmt.Println(rsStr) + + // Output: + // Goframe is very nice to use. +} + +func ExampleUcWords() { + var str string + str = `goframe is very nice to use.` + rsStr := gstr.UcWords(str) + fmt.Println(rsStr) + + // Output: + // Goframe Is Very Nice To Use. +} + +func ExampleWordWrap() { + var str, br string + var width int + str = `A very long woooooooooooooooooord. and something` + width = 8 + br = "\n" + rsStr := gstr.WordWrap(str, width, br) + fmt.Println(rsStr) + + str = `The quick brown fox jumped over the lazy dog.` + width = 20 + br = "
\n" + rsStr = gstr.WordWrap(str, width, br) + fmt.Printf("%v", rsStr) + + // Output: + // A very + // long + // woooooooooooooooooord. + // and + // something + // The quick brown fox
+ // jumped over the lazy
+ // dog. +} From 0aabb7d99073e9ac87ed9bd434be423e75068aff Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Sat, 6 Nov 2021 04:41:08 +0800 Subject: [PATCH 07/17] update package gstr --- text/gstr/gstr_z_all_example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index 4a7cdd34d..8d7aee411 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -2,7 +2,7 @@ package gstr_test import ( "fmt" - + "github.com/gogf/gf/v2/text/gstr" ) From 7f24f0637b988b8487aa37483a01163f2ac1f447 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Wed, 10 Nov 2021 01:03:04 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 262 ++++++++++++++++----------- 1 file changed, 153 insertions(+), 109 deletions(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index 8d7aee411..f9717063f 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -2,7 +2,7 @@ package gstr_test import ( "fmt" - + "github.com/gogf/gf/v2/text/gstr" ) @@ -17,11 +17,12 @@ func ExampleAddSlashes() { } func ExampleCaseCamel() { - var str string - str = `goframe_is very nice.to-use` - rsStr := gstr.CaseCamel(str) + var ( + str = `goframe_is very nice.to-use` + rsStr = gstr.CaseCamel(str) + ) fmt.Println(rsStr) - + // Output: // GoframeIsVeryNiceToUse } @@ -429,9 +430,9 @@ func ExampleHideStr() { var percent int var hide string - str = `1234567890` - percent = 30 - hide = `@` + str = `13800138000` + percent = 40 + hide = `*` rsStr := gstr.HideStr(str, percent, hide) fmt.Println(rsStr) @@ -441,16 +442,10 @@ func ExampleHideStr() { rsStr = gstr.HideStr(str, percent, hide) fmt.Println(rsStr) - str = `ABCDEFGHIJ` - percent = 10 - hide = `@` - rsStr = gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) // Output: - // 1234@@@890 + // 138****8000 // AA@@@@@@AA - // ABCDE@GHIJ } func ExampleImplode() { @@ -522,10 +517,15 @@ func ExampleIsNumeric() { s = "aa66bb88" rsStr = gstr.IsNumeric(s) fmt.Println(rsStr) + + s = "3.1415926" + rsStr = gstr.IsNumeric(s) + fmt.Println(rsStr) // Output: // true // false + // true } func ExampleIsSubDomain() { @@ -572,22 +572,47 @@ func ExampleJoinAny() { arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} rsStr := gstr.JoinAny(arr1, sep) fmt.Println(rsStr) - + + + sep = `,` + arr2 := []int{ 99, 73, 85, 66 } + rsStr2 := gstr.JoinAny(arr2, sep) + fmt.Println(rsStr2) + + sep = `,` + arr3 := []interface{}{ + "Mary", + 18, + 99.5, + "
", + "Jack", + 19, + 66.5, + } + rsStr3 := gstr.JoinAny(arr3, sep) + fmt.Println(rsStr3) + + sep = `|` type StructA struct { Name string Age int } - arr2 := []StructA{ + arr4 := []StructA{ {"Mary", 18}, {"Jack", 18}, {"Lucy", 18}, } - rsStr = gstr.JoinAny(arr2, sep) + rsStr = gstr.JoinAny(arr4, sep) fmt.Println(rsStr) - + + + + // Output: // goframe@is@Very@Nice@to@use + // 99,73,85,66 + // Mary,18,99.5,
,Jack,19,66.5 // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} } @@ -615,10 +640,15 @@ func ExampleLenRune() { str = `123 4567 890` rsStr = gstr.LenRune(str) fmt.Println(rsStr) + + str = `Goframe是一个非常好用的Go语言框架!` + rsStr = gstr.LenRune(str) + fmt.Println(rsStr) // Output: // 27 // 12 + // 22 } func ExampleLevenshtein() { @@ -725,7 +755,7 @@ func ExampleParse() { rsStr, _ = gstr.Parse(str) fmt.Println(rsStr) - // 目前不支持嵌套切片。 + // The form of nested Slice is not yet supported. str = `v[][]=m&v[][]=n` rsStr, err := gstr.Parse(str) if err != nil { @@ -733,7 +763,7 @@ func ExampleParse() { } fmt.Println(rsStr) - // 会产生错误 + // This will produce an error. str = `v=m&v[a]=n` rsStr, err = gstr.Parse(str) if err != nil { @@ -818,7 +848,8 @@ func ExamplePosIRune() { needle = `Nice` rsStr := gstr.PosIRune(haystack, needle) fmt.Println(rsStr) - + + haystack = `Goframe是个非常好用的框架.` startOffset = 16 rsStr = gstr.PosIRune(haystack, needle, startOffset) fmt.Println(rsStr) @@ -833,9 +864,9 @@ func ExamplePosIRune() { // Output: // 16 - // 16 // -1 - // 16 + // -1 + // -1 } func ExamplePosR() { @@ -899,28 +930,30 @@ func ExamplePosRIRune() { var haystack, needle string var startOffset int - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` + haystack = `Goframe是个非常好用的框架` + needle = `好用` rsStr := gstr.PosRIRune(haystack, needle) fmt.Println(rsStr) - + + needle = `框架` startOffset = 16 rsStr = gstr.PosRIRune(haystack, needle, startOffset) fmt.Println(rsStr) - + + needle = `golang` startOffset = 17 rsStr = gstr.PosRIRune(haystack, needle, startOffset) fmt.Println(rsStr) - needle = `nice` + needle = `goframe` rsStr = gstr.PosRIRune(haystack, needle) fmt.Println(rsStr) // Output: - // 16 - // 16 + // 11 + // 14 // -1 - // 16 + // 0 } func ExamplePosRRune() { @@ -935,12 +968,13 @@ func ExamplePosRRune() { startOffset = 16 rsStr = gstr.PosRRune(haystack, needle, startOffset) fmt.Println(rsStr) - + + haystack = `Goframe是中国开发者的福利.` startOffset = 17 rsStr = gstr.PosRRune(haystack, needle, startOffset) fmt.Println(rsStr) - needle = `nice` + needle = `开发者` rsStr = gstr.PosRRune(haystack, needle) fmt.Println(rsStr) @@ -948,7 +982,7 @@ func ExamplePosRRune() { // 16 // 16 // -1 - // -1 + // 10 } func ExamplePosRune() { @@ -959,7 +993,9 @@ func ExamplePosRune() { needle = `Nice` rsStr := gstr.PosRune(haystack, needle) fmt.Println(rsStr) - + + haystack = `我喜欢Goframe框架` + needle = `框架` startOffset = 16 rsStr = gstr.PosRune(haystack, needle, startOffset) fmt.Println(rsStr) @@ -968,13 +1004,13 @@ func ExamplePosRune() { rsStr = gstr.PosRune(haystack, needle, startOffset) fmt.Println(rsStr) - needle = `nice` + needle = `goframe` rsStr = gstr.PosRune(haystack, needle) fmt.Println(rsStr) // Output: // 16 - // 16 + // 10 // -1 // -1 } @@ -984,9 +1020,14 @@ func ExampleQuoteMeta() { str = `.\+?[^]()` rsStr := gstr.QuoteMeta(str) fmt.Println(rsStr) - + + str = `https://goframe.org/pages/viewpage.action?pageId=1114327` + rsStr = gstr.QuoteMeta(str) + fmt.Println(rsStr) + // Output: // \.\\\+\?\[\^\]\(\) + // https://goframe\.org/pages/viewpage\.action\?pageId=1114327 } @@ -1068,32 +1109,31 @@ func ExampleReplaceByMap() { func ExampleReplaceI() { var origin, search, replace string var count int - origin = `goframe_is Very Nice.to-use` - search = `goframe` + + origin = `goframe is Very Nice to use` + search = `Goframe` replace = `golang` count = 3 rsStr := gstr.ReplaceI(origin, search, replace, count) fmt.Println(rsStr) - + // Output: - // golang_is Very Nice.to-use + // golang is Very Nice to use } func ExampleReplaceIByArray() { - var origin string - var replaces []string - replaces = []string{ - "frame", - "lang", - "nice", - "goframe", - } - origin = `goframe Nice` - rsStr := gstr.ReplaceIByArray(origin, replaces) - fmt.Println(rsStr) - + fmt.Println(gstr.ReplaceIByArray( + `golang is very nice`, + []string{ + "Golang", + "GoFrame", + "Nice", + "GOOD", + }, + )) + // Output: - // golang goframe + // GoFrame is very GOOD } func ExampleReplaceIByMap() { @@ -1123,12 +1163,12 @@ func ExampleReplaceIByMap() { func ExampleReverse() { var str string - str = `Goframe-Nice` + str = `123456` rsStr := gstr.Reverse(str) fmt.Println(rsStr) // Output: - // eciN-emarfoG + // 654321 } func ExampleSearchArray() { @@ -1210,12 +1250,12 @@ func ExampleSoundex() { func ExampleSplit() { var str, delimiter string str = `GoFrame_Nice` - delimiter = `ame_N` + delimiter = `_` rsStr := gstr.Split(str, delimiter) fmt.Println(rsStr) // Output: - // [GoFr ice] + // [GoFrame Nice] } func ExampleSplitAndTrim() { @@ -1248,39 +1288,46 @@ func ExampleStr() { func ExampleStrEx() { var haystack, needle string - haystack = `goframe_is Very Nice.to-use` - needle = `goframe` + haystack = `ABCDEFG` + needle = `B` rsStr := gstr.StrEx(haystack, needle) fmt.Println(rsStr) + + + haystack = `ABCDEFG` + needle = `E` + rsStr = gstr.StrEx(haystack, needle) + fmt.Println(rsStr) // Output: - // _is Very Nice.to-use + // CDEFG + // FG } func ExampleStrLimit() { var str, suffix string var length int - str = `goframe_is Very Nice.to-use` + str = `1234567890.png` length = 8 - suffix = "suffix" + suffix = `.jpg` rsStr := gstr.StrLimit(str, length, suffix) fmt.Println(rsStr) // Output: - // goframe_suffix + // 12345678.jpg } func ExampleStrLimitRune() { var str, suffix string var length int - str = `goframe_is Very Nice.to-use` + str = `Goframe是一个非常好用的Go语言框架.` length = 7 - suffix = "suffix" + suffix = "好用" rsStr := gstr.StrLimitRune(str, length, suffix) fmt.Println(rsStr) // Output: - // goframesuffix + // Goframe好用 } func ExampleStrTill() { @@ -1307,144 +1354,141 @@ func ExampleStrTill() { func ExampleStrTillEx() { var haystack, needle string - haystack = `goframe_is Very Nice.to-use` - needle = `frame` + haystack = `abcdefg` + needle = `e` rsStr := gstr.StrTillEx(haystack, needle) fmt.Println(rsStr) - haystack = `goframe_is Very Nice.to-use` - needle = `to` + haystack = `abcdefg` + needle = `de` rsStr = gstr.StrTillEx(haystack, needle) fmt.Println(rsStr) // Output: - // go - // goframe_is Very Nice. + // abcd + // abc } func ExampleStripSlashes() { var str string - str = `goframe "is" Very Nice to use` + str = `C:\\windows\\GoFrame\\test` rsStr := gstr.StripSlashes(str) fmt.Println(rsStr) // Output: - // goframe "is" Very Nice to use + // C:\windows\GoFrame\test } func ExampleSubStr() { var str string var start, length int - str = `GoFrame Nice` + + str = `ABCDEFGHIJK` + start = 0 length = 2 subStr := gstr.SubStr(str, start, length) fmt.Println(subStr) - str = `GoFrame Nice` + start = 5 length = 6 subStr = gstr.SubStr(str, start, length) fmt.Println(subStr) // Output: - // Go - // me Nic + // AB + // FGHIJK } func ExampleSubStrRune() { var str string var start, length int - str = `GoFrame Nice` + str = `123456789` start = 5 length = 4 subStr := gstr.SubStrRune(str, start, length) fmt.Println(subStr) // Output: - // me N + // 6789 } func ExampleToLower() { var s string - s = `GoFRAME_IS VERY NICE.TO-USE` + s = `GOFRAME IS VERY NICE TO USE` rsStr := gstr.ToLower(s) fmt.Println(rsStr) // Output: - // goframe_is very nice.to-use + // goframe is very nice to use } func ExampleToUpper() { var s string - s = `goframe_is Very Nice.to-use` + s = `goframe is very nice to use` rsStr := gstr.ToUpper(s) fmt.Println(rsStr) // Output: - // GOFRAME_IS VERY NICE.TO-USE + // GOFRAME IS VERY NICE TO USE } func ExampleTrim() { var str, characterMask string - str = `goframe_is Very Nice.to-use` - characterMask = "to-use" + str = `.abc.def..` + characterMask = "." rsStr := gstr.Trim(str, characterMask) fmt.Println(rsStr) // Output: - // goframe_is Very Nice. + // abc.def } func ExampleTrimAll() { var str, characterMask string - str = `goframe` - characterMask = "g o e" + str = `.abc.def...` + characterMask = "." rsStr := gstr.TrimAll(str, characterMask) fmt.Println(rsStr) // Output: - // fram + // abcdef } func ExampleTrimLeft() { var str, characterMask string - str = ` goframe is Very Nice to use` - characterMask = "goframeisVery" + str = `..abc.def.. ` + characterMask = "." rsStr := gstr.TrimLeft(str, characterMask) fmt.Println(rsStr) // Output: - // Nice to use + // abc.def.. } func ExampleTrimLeftStr() { var str, cut string var count int - str = ` goframe is Very Nice.to-use` - cut = " go" - count = 1 + str = `...abcd..efg...` + cut = "." + count = 2 rsStr := gstr.TrimLeftStr(str, cut, count) fmt.Println(rsStr) // Output: - // frame is Very Nice.to-use + // .abcd..efg... } func ExampleTrimRight() { var str, characterMask string - str = `goframe_is Very Nice to use ` - rsStr := gstr.TrimRight(str) - fmt.Println(rsStr) - - str = `goframe_is Very Nice to-use ` - characterMask = "to-use" // []byte{"t", "o", "-", "u", "s", "e"} - rsStr = gstr.TrimRight(str, characterMask) + str = `abcdef ` + characterMask = "def" // []byte{"d", "e", "f"} + rsStr := gstr.TrimRight(str, characterMask) fmt.Println(rsStr) // Output: - // goframe_is Very Nice to use - // goframe_is Very Nic + // abc } func ExampleTrimRightStr() { From 836be74d1363d5c147b58dea37f0f48258acf83b Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Wed, 10 Nov 2021 01:12:22 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E4=B8=AD=E7=BB=93=E6=9E=9C=E4=B8=BAmap=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E7=9A=84=E5=9C=B0=E6=96=B9=E5=A2=9E=E5=8A=A0May?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index f9717063f..4c5d225f5 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -315,7 +315,7 @@ func ExampleCountChars() { rsStr = gstr.CountChars(str, noSpace) fmt.Println(rsStr) - // Output: + // May Output: // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] } From f889df8d50e5c51b909ad95022e96408eeb5f5d4 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Wed, 10 Nov 2021 01:27:59 +0800 Subject: [PATCH 10/17] =?UTF-8?q?go=20fmt=20=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 53 ++++++++++++---------------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index 4c5d225f5..07ab60b34 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -2,7 +2,7 @@ package gstr_test import ( "fmt" - + "github.com/gogf/gf/v2/text/gstr" ) @@ -22,7 +22,7 @@ func ExampleCaseCamel() { rsStr = gstr.CaseCamel(str) ) fmt.Println(rsStr) - + // Output: // GoframeIsVeryNiceToUse } @@ -318,6 +318,7 @@ func ExampleCountChars() { // May Output: // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] + } func ExampleCountI() { @@ -442,7 +443,6 @@ func ExampleHideStr() { rsStr = gstr.HideStr(str, percent, hide) fmt.Println(rsStr) - // Output: // 138****8000 // AA@@@@@@AA @@ -517,7 +517,7 @@ func ExampleIsNumeric() { s = "aa66bb88" rsStr = gstr.IsNumeric(s) fmt.Println(rsStr) - + s = "3.1415926" rsStr = gstr.IsNumeric(s) fmt.Println(rsStr) @@ -572,13 +572,12 @@ func ExampleJoinAny() { arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} rsStr := gstr.JoinAny(arr1, sep) fmt.Println(rsStr) - - + sep = `,` - arr2 := []int{ 99, 73, 85, 66 } + arr2 := []int{99, 73, 85, 66} rsStr2 := gstr.JoinAny(arr2, sep) fmt.Println(rsStr2) - + sep = `,` arr3 := []interface{}{ "Mary", @@ -591,8 +590,7 @@ func ExampleJoinAny() { } rsStr3 := gstr.JoinAny(arr3, sep) fmt.Println(rsStr3) - - + sep = `|` type StructA struct { Name string @@ -605,10 +603,7 @@ func ExampleJoinAny() { } rsStr = gstr.JoinAny(arr4, sep) fmt.Println(rsStr) - - - - + // Output: // goframe@is@Very@Nice@to@use // 99,73,85,66 @@ -640,7 +635,7 @@ func ExampleLenRune() { str = `123 4567 890` rsStr = gstr.LenRune(str) fmt.Println(rsStr) - + str = `Goframe是一个非常好用的Go语言框架!` rsStr = gstr.LenRune(str) fmt.Println(rsStr) @@ -848,7 +843,7 @@ func ExamplePosIRune() { needle = `Nice` rsStr := gstr.PosIRune(haystack, needle) fmt.Println(rsStr) - + haystack = `Goframe是个非常好用的框架.` startOffset = 16 rsStr = gstr.PosIRune(haystack, needle, startOffset) @@ -934,12 +929,12 @@ func ExamplePosRIRune() { needle = `好用` rsStr := gstr.PosRIRune(haystack, needle) fmt.Println(rsStr) - + needle = `框架` startOffset = 16 rsStr = gstr.PosRIRune(haystack, needle, startOffset) fmt.Println(rsStr) - + needle = `golang` startOffset = 17 rsStr = gstr.PosRIRune(haystack, needle, startOffset) @@ -968,7 +963,7 @@ func ExamplePosRRune() { startOffset = 16 rsStr = gstr.PosRRune(haystack, needle, startOffset) fmt.Println(rsStr) - + haystack = `Goframe是中国开发者的福利.` startOffset = 17 rsStr = gstr.PosRRune(haystack, needle, startOffset) @@ -993,7 +988,7 @@ func ExamplePosRune() { needle = `Nice` rsStr := gstr.PosRune(haystack, needle) fmt.Println(rsStr) - + haystack = `我喜欢Goframe框架` needle = `框架` startOffset = 16 @@ -1020,11 +1015,11 @@ func ExampleQuoteMeta() { str = `.\+?[^]()` rsStr := gstr.QuoteMeta(str) fmt.Println(rsStr) - + str = `https://goframe.org/pages/viewpage.action?pageId=1114327` rsStr = gstr.QuoteMeta(str) fmt.Println(rsStr) - + // Output: // \.\\\+\?\[\^\]\(\) // https://goframe\.org/pages/viewpage\.action\?pageId=1114327 @@ -1109,14 +1104,14 @@ func ExampleReplaceByMap() { func ExampleReplaceI() { var origin, search, replace string var count int - + origin = `goframe is Very Nice to use` search = `Goframe` replace = `golang` count = 3 rsStr := gstr.ReplaceI(origin, search, replace, count) fmt.Println(rsStr) - + // Output: // golang is Very Nice to use } @@ -1131,7 +1126,7 @@ func ExampleReplaceIByArray() { "GOOD", }, )) - + // Output: // GoFrame is very GOOD } @@ -1292,8 +1287,7 @@ func ExampleStrEx() { needle = `B` rsStr := gstr.StrEx(haystack, needle) fmt.Println(rsStr) - - + haystack = `ABCDEFG` needle = `E` rsStr = gstr.StrEx(haystack, needle) @@ -1382,15 +1376,14 @@ func ExampleStripSlashes() { func ExampleSubStr() { var str string var start, length int - + str = `ABCDEFGHIJK` - + start = 0 length = 2 subStr := gstr.SubStr(str, start, length) fmt.Println(subStr) - start = 5 length = 6 subStr = gstr.SubStr(str, start, length) From 4b0a8f81d51118eb93d282dfd6a2154731118d36 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Wed, 10 Nov 2021 01:47:03 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86ExampleEqual?= =?UTF-8?q?=20=E7=A4=BA=E4=BE=8B=E7=9A=84=E5=AF=B9=E6=AF=94=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index 07ab60b34..ce97e2c69 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -356,7 +356,7 @@ func ExampleEqual() { fmt.Println(rsStr) a = `A` - b = `B` + b = `A` rsStr = gstr.Equal(a, b) fmt.Println(rsStr) @@ -367,7 +367,7 @@ func ExampleEqual() { // Output: // true - // false + // true // false } From 741a7906604f0a0cc95d408dd25711b780d736e5 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Fri, 12 Nov 2021 01:37:27 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E7=9A=84=E8=A1=A8=E7=8E=B0=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 2122 ++++++++++++++++---------- 1 file changed, 1312 insertions(+), 810 deletions(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index ce97e2c69..cfb05c8d9 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -7,9 +7,11 @@ import ( ) func ExampleAddSlashes() { - var str string - str = `'aa'"bb"cc\r\n\d\t` - rsStr := gstr.AddSlashes(str) + var ( + str = `'aa'"bb"cc\r\n\d\t` + rsStr = gstr.AddSlashes(str) + ) + fmt.Println(rsStr) // Output: @@ -28,9 +30,11 @@ func ExampleCaseCamel() { } func ExampleCaseCamelLower() { - var str string - str = `goframe_is very nice.to-use` - rsStr := gstr.CaseCamelLower(str) + var ( + str = `goframe_is very nice.to-use` + rsStr = gstr.CaseCamelLower(str) + ) + fmt.Println(rsStr) // Output: @@ -38,11 +42,11 @@ func ExampleCaseCamelLower() { } func ExampleCaseDelimited() { - var str string - var del uint8 - str = `goframe_is_very-nice.to-use` - del = 35 - rsStr := gstr.CaseDelimited(str, del) + var ( + str = `goframe_is_very-nice.to-use` + del = uint8(35) + rsStr = gstr.CaseDelimited(str, del) + ) fmt.Println(rsStr) // Output: @@ -50,23 +54,34 @@ func ExampleCaseDelimited() { } func ExampleCaseDelimitedScreaming() { - var str string - var del uint8 - var screaming bool - str = `goframe_is Very Nice.to-use` - del = 35 - screaming = true - rsStr := gstr.CaseDelimitedScreaming(str, del, screaming) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + del = uint8(35) + rsStr = gstr.CaseDelimitedScreaming(str, del, true) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `GOFRAME_IS VERY NICE.TO-USE` + del = uint8(35) + rsStr = gstr.CaseDelimitedScreaming(str, del, false) + ) + fmt.Println(rsStr) + } // Output: // GOFRAME#IS#VERY#NICE#TO#USE + // goframe#is#very#nice#to#use } func ExampleCaseKebab() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseKebab(str) + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseKebab(str) + ) fmt.Println(rsStr) // Output: @@ -74,9 +89,10 @@ func ExampleCaseKebab() { } func ExampleCaseKebabScreaming() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseKebabScreaming(str) + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseKebabScreaming(str) + ) fmt.Println(rsStr) // Output: @@ -84,9 +100,11 @@ func ExampleCaseKebabScreaming() { } func ExampleCaseSnake() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseSnake(str) + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseSnake(str) + ) + fmt.Println(rsStr) // Output: @@ -94,9 +112,11 @@ func ExampleCaseSnake() { } func ExampleCaseSnakeFirstUpper() { - var str string - str = `GoframeIsVeryNiceToUse` - rsStr := gstr.CaseSnakeFirstUpper(str) + var ( + str = `GoframeIsVeryNiceToUse` + rsStr = gstr.CaseSnakeFirstUpper(str) + ) + fmt.Println(rsStr) // Output: @@ -104,9 +124,11 @@ func ExampleCaseSnakeFirstUpper() { } func ExampleCaseSnakeScreaming() { - var str string - str = `goframe_is Very Nice.to-use` - rsStr := gstr.CaseSnakeScreaming(str) + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseSnakeScreaming(str) + ) + fmt.Println(rsStr) // Output: @@ -114,9 +136,10 @@ func ExampleCaseSnakeScreaming() { } func ExampleChr() { - var ascii int - ascii = 65 - rsStr := gstr.Chr(ascii) + var ( + ascii = 65 + rsStr = gstr.Chr(ascii) + ) fmt.Println(rsStr) // Output: @@ -124,26 +147,36 @@ func ExampleChr() { } func ExampleChunkSplit() { - var body string - var chunkLen int - var end string - body = `1234` - chunkLen = 2 - end = "#" - rsStr := gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) + { + var ( + body = `1234` + chunkLen = 2 + end = "#" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) - body = `我爱Goframe` - chunkLen = 1 - end = "-" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - body = `1234` - chunkLen = 1 - end = "" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - fmt.Println(rsStr) + { + var ( + body = `我爱Goframe` + chunkLen = 1 + end = "-" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) + fmt.Println(rsStr) + } + + { + var ( + body = `1234` + chunkLen = 1 + end = "" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) + fmt.Println(rsStr) + } // May Output: // 12#34# @@ -152,23 +185,33 @@ func ExampleChunkSplit() { } func ExampleCompare() { - var a string - var b string + { + var ( + a = "C" + b = "C" + rsStr = gstr.Compare(a, b) + ) - a = "C" - b = "C" - rsStr := gstr.Compare(a, b) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - a = "A" - b = "B" - rsStr = gstr.Compare(a, b) - fmt.Println(rsStr) + { + var ( + a = "A" + b = "B" + rsStr = gstr.Compare(a, b) + ) + fmt.Println(rsStr) + } - a = "C" - b = "B" - rsStr = gstr.Compare(a, b) - fmt.Println(rsStr) + { + var ( + a = "C" + b = "B" + rsStr = gstr.Compare(a, b) + ) + fmt.Println(rsStr) + } // Output: // 0 @@ -177,24 +220,34 @@ func ExampleCompare() { } func ExampleCompareVersion() { - var a string - var b string + { + var ( + a = "v2.11.9" + b = "v2.10.8" - a = "v2.11.9" - b = "v2.10.8" + rsStr = gstr.CompareVersion(a, b) + ) - rsStr := gstr.CompareVersion(a, b) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - a = "A.10.8" - b = "A.19.7" - rsStr = gstr.CompareVersion(a, b) - fmt.Println(rsStr) + { + var ( + a = "A.10.8" + b = "A.19.7" + rsStr = gstr.CompareVersion(a, b) + ) + fmt.Println(rsStr) + } - a = "2.8.beta" - b = "2.8" - rsStr = gstr.CompareVersion(a, b) - fmt.Println(rsStr) + { + var ( + a = "2.8.beta" + b = "2.8" + rsStr = gstr.CompareVersion(a, b) + ) + fmt.Println(rsStr) + } // Output: // 1 @@ -203,23 +256,33 @@ func ExampleCompareVersion() { } func ExampleCompareVersionGo() { - var a string - var b string - a = "v2.11.9" - b = "v2.10.8" - rsStr := gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) + { + var ( + a = "v2.11.9" + b = "v2.10.8" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } - a = "v0.0.2-20180626092158-b2ccc119800e" - b = "v1.0.1-20190626092158-b2ccc519800e" - rsStr = gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) + { + var ( + a = "v0.0.2-20180626092158-b2ccc119800e" + b = "v1.0.1-20190626092158-b2ccc519800e" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } - a = "v4.20.1" - b = "v4.20.1+incompatible" - rsStr = gstr.CompareVersionGo(a, b) - fmt.Println(rsStr) + { + var ( + a = "v4.20.1" + b = "v4.20.1+incompatible" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } // Output: // 1 @@ -228,15 +291,24 @@ func ExampleCompareVersionGo() { } func ExampleContains() { - var str, substr string - str = `goframe_is Very Nice.to-use` - substr = `goframe` - rsStr := gstr.Contains(str, substr) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + substr = `goframe` + rsStr = gstr.Contains(str, substr) + ) - substr = `Goframe` - rsStr = gstr.Contains(str, substr) - fmt.Println(rsStr) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + substr = `Goframe` + rsStr = gstr.Contains(str, substr) + ) + fmt.Println(rsStr) + } // Output: // true @@ -244,19 +316,33 @@ func ExampleContains() { } func ExampleContainsAny() { - var s, chars string - s = `goframe_is Very Nice.to-use` - chars = "g" - rsStr := gstr.ContainsAny(s, chars) - fmt.Println(rsStr) + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "g" + rsStr = gstr.ContainsAny(s, chars) + ) - chars = "G" - rsStr = gstr.ContainsAny(s, chars) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - chars = "Nice" - rsStr = gstr.ContainsAny(s, chars) - fmt.Println(rsStr) + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "G" + rsStr = gstr.ContainsAny(s, chars) + ) + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "Nice" + rsStr = gstr.ContainsAny(s, chars) + ) + fmt.Println(rsStr) + } // Output: // true @@ -265,20 +351,33 @@ func ExampleContainsAny() { } func ExampleContainsI() { - var str, substr string - str = `goframe_is Very Nice.to-use` + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "go" + rsStr = gstr.ContainsI(str, substr) + ) - substr = "go" - rsStr := gstr.ContainsI(str, substr) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - substr = "Go" - rsStr = gstr.ContainsI(str, substr) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "Go" + rsStr = gstr.ContainsI(str, substr) + ) + fmt.Println(rsStr) + } - substr = "Golang" - rsStr = gstr.ContainsI(str, substr) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "Golang" + rsStr = gstr.ContainsI(str, substr) + ) + fmt.Println(rsStr) + } // Output: // true @@ -287,16 +386,23 @@ func ExampleContainsI() { } func ExampleCount() { - var str, substr string - str = `goframe_is Very Nice.to-use` + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "goframe" + rsStr = gstr.Count(str, substr) + ) + fmt.Println(rsStr) + } - substr = "goframe" - rsStr := gstr.Count(str, substr) - fmt.Println(rsStr) - - substr = "golang" - rsStr = gstr.Count(str, substr) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "golang" + rsStr = gstr.Count(str, substr) + ) + fmt.Println(rsStr) + } // Output: // 1 @@ -304,16 +410,21 @@ func ExampleCount() { } func ExampleCountChars() { - var str string - var noSpace bool - str = `goframe_is Very Nice.to-use` + { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CountChars(str) + ) + fmt.Println(rsStr) + } - rsStr := gstr.CountChars(str) - fmt.Println(rsStr) - - noSpace = true - rsStr = gstr.CountChars(str, noSpace) - fmt.Println(rsStr) + { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CountChars(str, true) + ) + fmt.Println(rsStr) + } // May Output: // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] @@ -322,16 +433,24 @@ func ExampleCountChars() { } func ExampleCountI() { - var s, substr string - s = `goframe_is Very Nice.to-use` + { + var ( + s = `goframe_is Very Nice.to-use` + substr = "goframe" + rsStr = gstr.CountI(s, substr) + ) - substr = "goframe" - rsStr := gstr.CountI(s, substr) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - substr = "golang" - rsStr = gstr.CountI(s, substr) - fmt.Println(rsStr) + { + var ( + s = `goframe_is Very Nice.to-use` + substr = "golang" + rsStr = gstr.CountI(s, substr) + ) + fmt.Println(rsStr) + } // Output: // 1 @@ -339,9 +458,11 @@ func ExampleCountI() { } func ExampleCountWords() { - var str string - str = `goframe is Very Nice to use ! goframe Very Nice !` - rsStr := gstr.CountWords(str) + var ( + str = `goframe is Very Nice to use ! goframe Very Nice !` + rsStr = gstr.CountWords(str) + ) + fmt.Println(rsStr) // Output: @@ -349,21 +470,33 @@ func ExampleCountWords() { } func ExampleEqual() { - var a, b string - a = `A` - b = `a` - rsStr := gstr.Equal(a, b) - fmt.Println(rsStr) + { + var ( + a = `A` + b = `a` + rsStr = gstr.Equal(a, b) + ) - a = `A` - b = `A` - rsStr = gstr.Equal(a, b) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - a = `C` - b = `B` - rsStr = gstr.Equal(a, b) - fmt.Println(rsStr) + { + var ( + a = `A` + b = `A` + rsStr = gstr.Equal(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = `C` + b = `B` + rsStr = gstr.Equal(a, b) + ) + fmt.Println(rsStr) + } // Output: // true @@ -372,10 +505,12 @@ func ExampleEqual() { } func ExampleExplode() { - var delimiter, str string - str = `goframe_is_Very_Nice_to_use` - delimiter = "_" - rsStr := gstr.Explode(delimiter, str) + var ( + str = `goframe_is_Very_Nice_to_use` + delimiter = "_" + rsStr = gstr.Explode(delimiter, str) + ) + fmt.Println(rsStr) // Output: @@ -383,9 +518,11 @@ func ExampleExplode() { } func ExampleFields() { - var str string - str = `goframe is Very Nice to-use` - rsStr := gstr.Fields(str) + var ( + str = `goframe is Very Nice to-use` + rsStr = gstr.Fields(str) + ) + fmt.Println(rsStr) // Output: @@ -393,16 +530,24 @@ func ExampleFields() { } func ExampleHasPrefix() { - var s, prefix string - s = `goframe_is Very Nice.to-use` + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "goframe" + rsStr = gstr.HasPrefix(s, prefix) + ) - prefix = "goframe" - rsStr := gstr.HasPrefix(s, prefix) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - prefix = "Goframe" - rsStr = gstr.HasPrefix(s, prefix) - fmt.Println(rsStr) + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "Goframe" + rsStr = gstr.HasPrefix(s, prefix) + ) + fmt.Println(rsStr) + } // Output: // true @@ -410,16 +555,23 @@ func ExampleHasPrefix() { } func ExampleHasSuffix() { - var s, prefix string - s = `goframe_is Very Nice.to-use` + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "use" + rsStr = gstr.HasSuffix(s, prefix) + ) + fmt.Println(rsStr) + } - prefix = "use" - rsStr := gstr.HasSuffix(s, prefix) - fmt.Println(rsStr) - - prefix = "Use" - rsStr = gstr.HasSuffix(s, prefix) - fmt.Println(rsStr) + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "Use" + rsStr = gstr.HasSuffix(s, prefix) + ) + fmt.Println(rsStr) + } // Output: // true @@ -427,21 +579,25 @@ func ExampleHasSuffix() { } func ExampleHideStr() { - var str string - var percent int - var hide string + { + var ( + str = `13800138000` + percent = 40 + hide = `*` + rsStr = gstr.HideStr(str, percent, hide) + ) + fmt.Println(rsStr) + } - str = `13800138000` - percent = 40 - hide = `*` - rsStr := gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) - - str = `AAAAAAAAAA` - percent = 60 - hide = `@` - rsStr = gstr.HideStr(str, percent, hide) - fmt.Println(rsStr) + { + var ( + str = `AAAAAAAAAA` + percent = 60 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + ) + fmt.Println(rsStr) + } // Output: // 138****8000 @@ -449,11 +605,11 @@ func ExampleHideStr() { } func ExampleImplode() { - var glue string - var pieces []string - pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} - glue = "-" - rsStr := gstr.Implode(glue, pieces) + var ( + pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} + glue = "-" + rsStr = gstr.Implode(glue, pieces) + ) fmt.Println(rsStr) // Output: @@ -461,16 +617,23 @@ func ExampleImplode() { } func ExampleInArray() { - var a []string - var s string - a = []string{"goframe", "is", "Very", "Nice", "to", "use"} - s = "goframe" - rsStr := gstr.InArray(a, s) - fmt.Println(rsStr) + { + var ( + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "goframe" + rsStr = gstr.InArray(a, s) + ) + fmt.Println(rsStr) + } - s = "golang" - rsStr = gstr.InArray(a, s) - fmt.Println(rsStr) + { + var ( + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "golang" + rsStr = gstr.InArray(a, s) + ) + fmt.Println(rsStr) + } // Output: // true @@ -478,14 +641,21 @@ func ExampleInArray() { } func ExampleIsLetterLower() { - var b byte - b = 65 // In ASCII is "a" - rsStr := gstr.IsLetterLower(b) - fmt.Println(rsStr) + { + var ( + b byte = 65 // In ASCII is "a" + rsStr = gstr.IsLetterLower(b) + ) + fmt.Println(rsStr) + } - b = 97 // In ASCII is "A" - rsStr = gstr.IsLetterLower(b) - fmt.Println(rsStr) + { + var ( + b byte = 97 // In ASCII is "A" + rsStr = gstr.IsLetterLower(b) + ) + fmt.Println(rsStr) + } // Output: // false @@ -493,14 +663,21 @@ func ExampleIsLetterLower() { } func ExampleIsLetterUpper() { - var b byte - b = 65 // In ASCII is "a" - rsStr := gstr.IsLetterUpper(b) - fmt.Println(rsStr) + { + var ( + b byte = 65 // In ASCII is "a" + rsStr = gstr.IsLetterUpper(b) + ) + fmt.Println(rsStr) + } - b = 97 // In ASCII is "A" - rsStr = gstr.IsLetterUpper(b) - fmt.Println(rsStr) + { + var ( + b byte = 97 // In ASCII is "A" + rsStr = gstr.IsLetterUpper(b) + ) + fmt.Println(rsStr) + } // Output: // true @@ -508,19 +685,29 @@ func ExampleIsLetterUpper() { } func ExampleIsNumeric() { - var s string + { + var ( + s = "88" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } - s = "88" - rsStr := gstr.IsNumeric(s) - fmt.Println(rsStr) + { + var ( + s = "aa66bb88" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } - s = "aa66bb88" - rsStr = gstr.IsNumeric(s) - fmt.Println(rsStr) - - s = "3.1415926" - rsStr = gstr.IsNumeric(s) - fmt.Println(rsStr) + { + var ( + s = "3.1415926" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } // Output: // true @@ -529,22 +716,32 @@ func ExampleIsNumeric() { } func ExampleIsSubDomain() { - var subDomain, mainDomain string + { + var ( + subDomain = `s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } - subDomain = `s.goframe.org` - mainDomain = `goframe.org` - rsStr := gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) + { + var ( + subDomain = `s.s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } - subDomain = `s.s.goframe.org` - mainDomain = `goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) - - subDomain = `s.s.goframe.org` - mainDomain = `*goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - fmt.Println(rsStr) + { + var ( + subDomain = `s.s.goframe.org` + mainDomain = `*goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } // Output: // true @@ -553,12 +750,11 @@ func ExampleIsSubDomain() { } func ExampleJoin() { - var array []string - var sep string - - array = []string{"goframe", "is", "Very", "Nice", "to", "use"} - sep = `,` - rsStr := gstr.Join(array, sep) + var ( + array = []string{"goframe", "is", "Very", "Nice", "to", "use"} + sep = `,` + rsStr = gstr.Join(array, sep) + ) fmt.Println(rsStr) // Output: @@ -566,43 +762,58 @@ func ExampleJoin() { } func ExampleJoinAny() { - var sep string - - sep = `@` - arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"} - rsStr := gstr.JoinAny(arr1, sep) - fmt.Println(rsStr) - - sep = `,` - arr2 := []int{99, 73, 85, 66} - rsStr2 := gstr.JoinAny(arr2, sep) - fmt.Println(rsStr2) - - sep = `,` - arr3 := []interface{}{ - "Mary", - 18, - 99.5, - "
", - "Jack", - 19, - 66.5, + { + var ( + sep = `@` + arr1 = []string{"goframe", "is", "Very", "Nice", "to", "use"} + rsStr = gstr.JoinAny(arr1, sep) + ) + fmt.Println(rsStr) } - rsStr3 := gstr.JoinAny(arr3, sep) - fmt.Println(rsStr3) - sep = `|` - type StructA struct { - Name string - Age int + { + var ( + sep = `,` + arr2 = []int{99, 73, 85, 66} + rsStr2 = gstr.JoinAny(arr2, sep) + ) + fmt.Println(rsStr2) } - arr4 := []StructA{ - {"Mary", 18}, - {"Jack", 18}, - {"Lucy", 18}, + + { + var ( + sep = `,` + arr3 = []interface{}{ + "Mary", + 18, + 99.5, + "
", + "Jack", + 19, + 66.5, + } + rsStr3 = gstr.JoinAny(arr3, sep) + ) + fmt.Println(rsStr3) + } + + { + type StructA struct { + Name string + Age int + } + var ( + sep = `|` + + arr4 = []StructA{ + {"Mary", 18}, + {"Jack", 18}, + {"Lucy", 18}, + } + rsStr = gstr.JoinAny(arr4, sep) + ) + fmt.Println(rsStr) } - rsStr = gstr.JoinAny(arr4, sep) - fmt.Println(rsStr) // Output: // goframe@is@Very@Nice@to@use @@ -612,14 +823,21 @@ func ExampleJoinAny() { } func ExampleLcFirst() { - var str string - str = `Goframe` - rsStr := gstr.LcFirst(str) - fmt.Println(rsStr) + { + var ( + str = `Goframe` + rsStr = gstr.LcFirst(str) + ) + fmt.Println(rsStr) + } - str = `Goframe is Very Nice to use.` - rsStr = gstr.LcFirst(str) - fmt.Println(rsStr) + { + var ( + str = `Goframe is Very Nice to use.` + rsStr = gstr.LcFirst(str) + ) + fmt.Println(rsStr) + } // Output: // goframe @@ -627,18 +845,29 @@ func ExampleLcFirst() { } func ExampleLenRune() { - var str string - str = `goframe is Very Nice to use` - rsStr := gstr.LenRune(str) - fmt.Println(rsStr) + { + var ( + str = `goframe is Very Nice to use` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } - str = `123 4567 890` - rsStr = gstr.LenRune(str) - fmt.Println(rsStr) + { + var ( + str = `123 4567 890` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } - str = `Goframe是一个非常好用的Go语言框架!` - rsStr = gstr.LenRune(str) - fmt.Println(rsStr) + { + var ( + str = `Goframe是一个非常好用的Go语言框架!` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } // Output: // 27 @@ -647,24 +876,30 @@ func ExampleLenRune() { } func ExampleLevenshtein() { - var str1, str2 string - var costIns, costRep, costDel int - str1 = "Hello World" - str2 = "ello World" + { + var ( + str1 = "Hello World" + str2 = "ello World" + costIns = 1 + costRep = 1 + costDel = 1 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + ) - costIns = 1 - costRep = 1 - costDel = 1 - rsStr := gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - str1 = "Hello World" - str2 = "ello Worles" - costIns = 10 - costRep = 20 - costDel = 30 - rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - fmt.Println(rsStr) + { + var ( + str1 = "Hello World" + str2 = "ello Worles" + costIns = 10 + costRep = 20 + costDel = 30 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + ) + fmt.Println(rsStr) + } // Output: // 1 @@ -672,14 +907,16 @@ func ExampleLevenshtein() { } func ExampleNl2Br() { - var str string - str = `goframe + var ( + str = `goframe is Very Nice to use` - rsStr := gstr.Nl2Br(str) + rsStr = gstr.Nl2Br(str) + ) + fmt.Println(rsStr) // Output: @@ -687,31 +924,39 @@ use` } func ExampleNumberFormat() { - var number float64 - var decimals int - var decPoint string - var thousandsSep string - number = 123456 - decimals = 2 - decPoint = "." - thousandsSep = "," - rsStr := gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) + { + var ( + number float64 = 123456 + decimals = 2 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } - number = 1234.56 - decimals = 1 - decPoint = "," - thousandsSep = " " - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) + { + var ( + number = 1234.56 + decimals = 1 + decPoint = "," + thousandsSep = " " + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } - number = 1234.5678 - decimals = 3 - decPoint = "." - thousandsSep = "," - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - fmt.Println(rsStr) + { + var ( + number = 1234.5678 + decimals = 3 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } // Output: // 123,456.00 @@ -720,9 +965,10 @@ func ExampleNumberFormat() { } func ExampleOctStr() { - var str string - str = `\346\200\241` - rsStr := gstr.OctStr(str) + var ( + str = `\346\200\241` + rsStr = gstr.OctStr(str) + ) fmt.Println(rsStr) // Output: @@ -730,9 +976,11 @@ func ExampleOctStr() { } func ExampleOrd() { - var str string - str = `goframe` - rsStr := gstr.Ord(str) + var ( + str = `goframe` + rsStr = gstr.Ord(str) + ) + fmt.Println(rsStr) // Output: @@ -740,37 +988,51 @@ func ExampleOrd() { } func ExampleParse() { - var str string - - str = `v1=m&v2=n` - rsStr, _ := gstr.Parse(str) - fmt.Println(rsStr) - - str = `v[a][a]=m&v[a][b]=n` - rsStr, _ = gstr.Parse(str) - fmt.Println(rsStr) - - // The form of nested Slice is not yet supported. - str = `v[][]=m&v[][]=n` - rsStr, err := gstr.Parse(str) - if err != nil { - fmt.Println("Error:", err) + { + var ( + str = `v1=m&v2=n` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) } - fmt.Println(rsStr) - // This will produce an error. - str = `v=m&v[a]=n` - rsStr, err = gstr.Parse(str) - if err != nil { - fmt.Println("Error:", err) + { + var ( + str = `v[a][a]=m&v[a][b]=n` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) } - fmt.Println(rsStr) - str = `a .[[b=c` - rsStr, _ = gstr.Parse(str) - fmt.Println(rsStr) + { + // The form of nested Slice is not yet supported. + var str = `v[][]=m&v[][]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + panic(err) + } + fmt.Println(rsStr) + } - // Output: + { + // This will produce an error. + var str = `v=m&v[a]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + println(err) + } + fmt.Println(rsStr) + } + + { + var ( + str = `a .[[b=c` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) + } + + // May Output: // map[v1:m v2:n] // map[v:map[a:map[a:m b:n]]] // map[v:map[]] @@ -780,25 +1042,43 @@ func ExampleParse() { } func ExamplePos() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.Pos(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.Pos(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.Pos(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 16 - rsStr = gstr.Pos(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.Pos(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.Pos(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.Pos(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.Pos(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -808,25 +1088,44 @@ func ExamplePos() { } func ExamplePosI() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosI(haystack, needle) + ) - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosI(haystack, needle) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - startOffset = 16 - rsStr = gstr.PosI(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.PosI(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - needle = `nice` - rsStr = gstr.PosI(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosI(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -836,26 +1135,44 @@ func ExamplePosI() { } func ExamplePosIRune() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosIRune(haystack, needle) + ) - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosIRune(haystack, needle) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - haystack = `Goframe是个非常好用的框架.` - startOffset = 16 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - needle = `nice` - rsStr = gstr.PosIRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `nice` + rsStr = gstr.PosIRune(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -865,25 +1182,43 @@ func ExamplePosIRune() { } func ExamplePosR() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosR(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosR(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosR(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 16 - rsStr = gstr.PosR(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosR(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.PosR(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosR(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosR(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -893,25 +1228,43 @@ func ExamplePosR() { } func ExamplePosRI() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRI(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRI(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosRI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 16 - rsStr = gstr.PosRI(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosRI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.PosRI(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `nice` - rsStr = gstr.PosRI(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosRI(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -922,27 +1275,44 @@ func ExamplePosRI() { } func ExamplePosRIRune() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `好用` + rsStr = gstr.PosRIRune(haystack, needle) + ) - haystack = `Goframe是个非常好用的框架` - needle = `好用` - rsStr := gstr.PosRIRune(haystack, needle) - fmt.Println(rsStr) + fmt.Println(rsStr) + } - needle = `框架` - startOffset = 16 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `框架` + startOffset = 16 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - needle = `golang` - startOffset = 17 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `golang` + startOffset = 17 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - needle = `goframe` - rsStr = gstr.PosRIRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `goframe` + rsStr = gstr.PosRIRune(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 11 @@ -952,26 +1322,43 @@ func ExamplePosRIRune() { } func ExamplePosRRune() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRRune(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 16 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是中国开发者的福利.` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - haystack = `Goframe是中国开发者的福利.` - startOffset = 17 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `开发者` - rsStr = gstr.PosRRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `Goframe是中国开发者的福利.` + needle = `开发者` + rsStr = gstr.PosRRune(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -981,27 +1368,43 @@ func ExamplePosRRune() { } func ExamplePosRune() { - var haystack, needle string - var startOffset int + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRune(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr := gstr.PosRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `我喜欢Goframe框架` + needle = `框架` + startOffset = 16 + rsStr = gstr.PosRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - haystack = `我喜欢Goframe框架` - needle = `框架` - startOffset = 16 - rsStr = gstr.PosRune(haystack, needle, startOffset) - fmt.Println(rsStr) + { + var ( + haystack = `我喜欢Goframe框架` + needle = `框架` + startOffset = 17 + rsStr = gstr.PosRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } - startOffset = 17 - rsStr = gstr.PosRune(haystack, needle, startOffset) - fmt.Println(rsStr) - - needle = `goframe` - rsStr = gstr.PosRune(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `我喜欢Goframe框架` + needle = `goframe` + rsStr = gstr.PosRune(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // 16 @@ -1011,14 +1414,21 @@ func ExamplePosRune() { } func ExampleQuoteMeta() { - var str string - str = `.\+?[^]()` - rsStr := gstr.QuoteMeta(str) - fmt.Println(rsStr) + { + var ( + str = `.\+?[^]()` + rsStr = gstr.QuoteMeta(str) + ) + fmt.Println(rsStr) + } - str = `https://goframe.org/pages/viewpage.action?pageId=1114327` - rsStr = gstr.QuoteMeta(str) - fmt.Println(rsStr) + { + var ( + str = `https://goframe.org/pages/viewpage.action?pageId=1114327` + rsStr = gstr.QuoteMeta(str) + ) + fmt.Println(rsStr) + } // Output: // \.\\\+\?\[\^\]\(\) @@ -1027,11 +1437,11 @@ func ExampleQuoteMeta() { } func ExampleRepeat() { - var input string - var multiplier int - input = `goframe ` - multiplier = 3 - rsStr := gstr.Repeat(input, multiplier) + var ( + input = `goframe ` + multiplier = 3 + rsStr = gstr.Repeat(input, multiplier) + ) fmt.Println(rsStr) // Output: @@ -1039,18 +1449,26 @@ func ExampleRepeat() { } func ExampleReplace() { - var origin, search, replace string - var count int + { + var ( + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + rsStr = gstr.Replace(origin, search, replace) + ) + fmt.Println(rsStr) + } - origin = `goframe_is_Very_Nice_to_use!` - search = `_` - replace = `+` - rsStr := gstr.Replace(origin, search, replace) - fmt.Println(rsStr) - - count = 2 - rsStr = gstr.Replace(origin, search, replace, count) - fmt.Println(rsStr) + { + var ( + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + count = 2 + rsStr = gstr.Replace(origin, search, replace, count) + ) + fmt.Println(rsStr) + } // Output: // goframe+is+Very+Nice+to+use! @@ -1058,18 +1476,23 @@ func ExampleReplace() { } func ExampleReplaceByArray() { - var origin string - var array []string + { + var ( + origin = `Golang is Very Good` + array = []string{"o", "O"} + rsStr = gstr.ReplaceByArray(origin, array) + ) + fmt.Println(rsStr) + } - origin = `Golang is Very Good` - - array = []string{"o", "O"} - rsStr := gstr.ReplaceByArray(origin, array) - fmt.Println(rsStr) - - array = []string{"Golang", "Goframe", "Good", "Nice"} - rsStr = gstr.ReplaceByArray(origin, array) - fmt.Println(rsStr) + { + var ( + origin = `Golang is Very Good` + array = []string{"Golang", "Goframe", "Good", "Nice"} + rsStr = gstr.ReplaceByArray(origin, array) + ) + fmt.Println(rsStr) + } // Output: // GOlang is Very GOOd @@ -1077,24 +1500,29 @@ func ExampleReplaceByArray() { } func ExampleReplaceByMap() { - var origin string - var replaces map[string]string - - origin = `Golang is Very Good` - - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + ) + fmt.Println(rsStr) } - rsStr := gstr.ReplaceByMap(origin, replaces) - fmt.Println(rsStr) - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + ) + fmt.Println(rsStr) } - rsStr = gstr.ReplaceByMap(origin, replaces) - fmt.Println(rsStr) // Output: // Goframe is Very Nice @@ -1102,14 +1530,13 @@ func ExampleReplaceByMap() { } func ExampleReplaceI() { - var origin, search, replace string - var count int - - origin = `goframe is Very Nice to use` - search = `Goframe` - replace = `golang` - count = 3 - rsStr := gstr.ReplaceI(origin, search, replace, count) + var ( + origin = `goframe is Very Nice to use` + search = `Goframe` + replace = `golang` + count = 3 + rsStr = gstr.ReplaceI(origin, search, replace, count) + ) fmt.Println(rsStr) // Output: @@ -1117,39 +1544,42 @@ func ExampleReplaceI() { } func ExampleReplaceIByArray() { - fmt.Println(gstr.ReplaceIByArray( - `golang is very nice`, - []string{ - "Golang", - "GoFrame", - "Nice", - "GOOD", - }, - )) + var ( + origin = `golang is very nice` + array = []string{"Golang", "GoFrame", "Nice", "GOOD"} + rsStr = gstr.ReplaceIByArray(origin, array) + ) + + fmt.Println(rsStr) // Output: // GoFrame is very GOOD } func ExampleReplaceIByMap() { - var origin string - var replaces map[string]string - - origin = `Golang is Very Good` - - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + ) + fmt.Println(rsStr) } - rsStr := gstr.ReplaceIByMap(origin, replaces) - fmt.Println(rsStr) - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + ) + fmt.Println(rsStr) } - rsStr = gstr.ReplaceIByMap(origin, replaces) - fmt.Println(rsStr) // Output: // Goframe is Very Nice @@ -1157,9 +1587,10 @@ func ExampleReplaceIByMap() { } func ExampleReverse() { - var str string - str = `123456` - rsStr := gstr.Reverse(str) + var ( + str = `123456` + rsStr = gstr.Reverse(str) + ) fmt.Println(rsStr) // Output: @@ -1167,25 +1598,32 @@ func ExampleReverse() { } func ExampleSearchArray() { - var a []string - var s string - a = []string{ - "goframe", - "is", - "Very", - "Nice", + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `goframe` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) } - s = `goframe` - rsStr := gstr.SearchArray(a, s) - fmt.Println(rsStr) - s = `Very` - rsStr = gstr.SearchArray(a, s) - fmt.Println(rsStr) + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `Very` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) + } - s = `use` - rsStr = gstr.SearchArray(a, s) - fmt.Println(rsStr) + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `use` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) + } // Output: // 0 @@ -1194,9 +1632,10 @@ func ExampleSearchArray() { } func ExampleShuffle() { - var str string - str = `goframe_is Nice.` - rsStr := gstr.Shuffle(str) + var ( + str = `goframe_is Nice.` + rsStr = gstr.Shuffle(str) + ) fmt.Println(rsStr) // May Output: @@ -1204,37 +1643,61 @@ func ExampleShuffle() { } func ExampleSimilarText() { - var first, second string - var percent *float64 - first = `goframe_is` - second = `go-nice` - rsStr := gstr.SimilarText(first, second, percent) - fmt.Println(rsStr) + { + var ( + percent *float64 + first = `goframe_is` + second = `go-nice` + rsStr = gstr.SimilarText(first, second, percent) + ) + fmt.Println(rsStr) + } + + { + var ( + first = `AaBbCcDd` + second = `ad` + ) + p := 0.80 + rsStr := gstr.SimilarText(first, second, &p) + fmt.Println(rsStr) + } // Output: // 3 + // 2 } func ExampleSoundex() { - var str string - var str2 string - str = `Euler` - str2 = `Ellery` - rsStr := gstr.Soundex(str) - rsStr2 := gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) + { + var ( + str = `Euler` + str2 = `Ellery` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } - str = `Gauss` - str2 = `Ghosh` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) + { + var ( + str = `Gauss` + str2 = `Ghosh` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } - str = `Lloyd` - str2 = `Ladd` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - fmt.Println(rsStr, rsStr2) + { + var ( + str = `Lloyd` + str2 = `Ladd` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } // Output: // E406 E406 @@ -1243,10 +1706,11 @@ func ExampleSoundex() { } func ExampleSplit() { - var str, delimiter string - str = `GoFrame_Nice` - delimiter = `_` - rsStr := gstr.Split(str, delimiter) + var ( + str = `GoFrame_Nice` + delimiter = `_` + rsStr = gstr.Split(str, delimiter) + ) fmt.Println(rsStr) // Output: @@ -1254,11 +1718,12 @@ func ExampleSplit() { } func ExampleSplitAndTrim() { - var str, delimiter, characterMask string - str = ` goframe, is, Very ,Nice ,to, use` - delimiter = `,` - characterMask = ` ` - rsStr := gstr.SplitAndTrim(str, delimiter, characterMask) + var ( + str = ` goframe, is, Very ,Nice ,to, use` + delimiter = `,` + characterMask = ` ` + rsStr = gstr.SplitAndTrim(str, delimiter, characterMask) + ) fmt.Println(rsStr) // Output: @@ -1266,45 +1731,36 @@ func ExampleSplitAndTrim() { } func ExampleStr() { - var haystack, needle string - haystack = `goframe nice` - needle = `fram` - rsStr := gstr.Str(haystack, needle) - fmt.Println(rsStr) - - needle = `ame n` - rsStr = gstr.Str(haystack, needle) + var ( + haystack = `xxx.jpg` + needle = `.` + rsStr = gstr.Str(haystack, needle) + ) fmt.Println(rsStr) // Output: - // me nice - // nice + // .jpg } func ExampleStrEx() { - var haystack, needle string - haystack = `ABCDEFG` - needle = `B` - rsStr := gstr.StrEx(haystack, needle) - fmt.Println(rsStr) - - haystack = `ABCDEFG` - needle = `E` - rsStr = gstr.StrEx(haystack, needle) + var ( + haystack = `https://goframe.org/index.html?a=1&b=2` + needle = `?` + rsStr = gstr.StrEx(haystack, needle) + ) fmt.Println(rsStr) // Output: - // CDEFG - // FG + // a=1&b=2 } func ExampleStrLimit() { - var str, suffix string - var length int - str = `1234567890.png` - length = 8 - suffix = `.jpg` - rsStr := gstr.StrLimit(str, length, suffix) + var ( + str = `1234567890.png` + length = 8 + suffix = `.jpg` + rsStr = gstr.StrLimit(str, length, suffix) + ) fmt.Println(rsStr) // Output: @@ -1312,51 +1768,60 @@ func ExampleStrLimit() { } func ExampleStrLimitRune() { - var str, suffix string - var length int - str = `Goframe是一个非常好用的Go语言框架.` - length = 7 - suffix = "好用" - rsStr := gstr.StrLimitRune(str, length, suffix) + var ( + str = `123456789` + length = 5 + suffix = "ABCD" + rsStr = gstr.StrLimitRune(str, length, suffix) + ) fmt.Println(rsStr) // Output: - // Goframe好用 + // 12345ABCD } func ExampleStrTill() { - var haystack, needle string + { + var ( + haystack = `goframe是一个好用的框架,她提供了非常丰富的工具给使用者.` + needle = `,` + rsStr = gstr.StrTill(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `ABCDEFGHIJKLMN` - needle = `C` - rsStr := gstr.StrTill(haystack, needle) - fmt.Println(rsStr) - - needle = `E` - rsStr = gstr.StrTill(haystack, needle) - fmt.Println(rsStr) - - needle = `G` - rsStr = gstr.StrTill(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `ABCDEFGHIJKLMN` + needle = `EF` + rsStr = gstr.StrTill(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: - // ABC + // goframe是一个好用的框架, // ABCDE - // ABCDEFG } func ExampleStrTillEx() { - var haystack, needle string - haystack = `abcdefg` - needle = `e` - rsStr := gstr.StrTillEx(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `abcdefg` + needle = `e` + rsStr = gstr.StrTillEx(haystack, needle) + ) + fmt.Println(rsStr) + } - haystack = `abcdefg` - needle = `de` - rsStr = gstr.StrTillEx(haystack, needle) - fmt.Println(rsStr) + { + var ( + haystack = `abcdefg` + needle = `de` + rsStr = gstr.StrTillEx(haystack, needle) + ) + fmt.Println(rsStr) + } // Output: // abcd @@ -1364,9 +1829,10 @@ func ExampleStrTillEx() { } func ExampleStripSlashes() { - var str string - str = `C:\\windows\\GoFrame\\test` - rsStr := gstr.StripSlashes(str) + var ( + str = `C:\\windows\\GoFrame\\test` + rsStr = gstr.StripSlashes(str) + ) fmt.Println(rsStr) // Output: @@ -1374,33 +1840,38 @@ func ExampleStripSlashes() { } func ExampleSubStr() { - var str string - var start, length int + { + var ( + str = `123456789` + start = 0 + length = 2 + subStr = gstr.SubStr(str, start, length) + ) + fmt.Println(subStr) + } - str = `ABCDEFGHIJK` - - start = 0 - length = 2 - subStr := gstr.SubStr(str, start, length) - fmt.Println(subStr) - - start = 5 - length = 6 - subStr = gstr.SubStr(str, start, length) - fmt.Println(subStr) + { + var ( + str = `123456789` + start = 5 + length = 3 + subStr = gstr.SubStr(str, start, length) + ) + fmt.Println(subStr) + } // Output: - // AB - // FGHIJK + // 12 + // 678 } func ExampleSubStrRune() { - var str string - var start, length int - str = `123456789` - start = 5 - length = 4 - subStr := gstr.SubStrRune(str, start, length) + var ( + str = `123456789` + start = 5 + length = 4 + subStr = gstr.SubStrRune(str, start, length) + ) fmt.Println(subStr) // Output: @@ -1408,9 +1879,10 @@ func ExampleSubStrRune() { } func ExampleToLower() { - var s string - s = `GOFRAME IS VERY NICE TO USE` - rsStr := gstr.ToLower(s) + var ( + s = `GOFRAME IS VERY NICE TO USE` + rsStr = gstr.ToLower(s) + ) fmt.Println(rsStr) // Output: @@ -1418,9 +1890,10 @@ func ExampleToLower() { } func ExampleToUpper() { - var s string - s = `goframe is very nice to use` - rsStr := gstr.ToUpper(s) + var ( + s = `goframe is very nice to use` + rsStr = gstr.ToUpper(s) + ) fmt.Println(rsStr) // Output: @@ -1428,10 +1901,11 @@ func ExampleToUpper() { } func ExampleTrim() { - var str, characterMask string - str = `.abc.def..` - characterMask = "." - rsStr := gstr.Trim(str, characterMask) + var ( + str = `.abc.def..` + characterMask = "." + rsStr = gstr.Trim(str, characterMask) + ) fmt.Println(rsStr) // Output: @@ -1439,10 +1913,11 @@ func ExampleTrim() { } func ExampleTrimAll() { - var str, characterMask string - str = `.abc.def...` - characterMask = "." - rsStr := gstr.TrimAll(str, characterMask) + var ( + str = `.abc.def...` + characterMask = "." + rsStr = gstr.TrimAll(str, characterMask) + ) fmt.Println(rsStr) // Output: @@ -1450,10 +1925,11 @@ func ExampleTrimAll() { } func ExampleTrimLeft() { - var str, characterMask string - str = `..abc.def.. ` - characterMask = "." - rsStr := gstr.TrimLeft(str, characterMask) + var ( + str = `..abc.def.. ` + characterMask = "." + rsStr = gstr.TrimLeft(str, characterMask) + ) fmt.Println(rsStr) // Output: @@ -1461,12 +1937,12 @@ func ExampleTrimLeft() { } func ExampleTrimLeftStr() { - var str, cut string - var count int - str = `...abcd..efg...` - cut = "." - count = 2 - rsStr := gstr.TrimLeftStr(str, cut, count) + var ( + str = `...abcd..efg...` + cut = "." + count = 2 + rsStr = gstr.TrimLeftStr(str, cut, count) + ) fmt.Println(rsStr) // Output: @@ -1474,10 +1950,11 @@ func ExampleTrimLeftStr() { } func ExampleTrimRight() { - var str, characterMask string - str = `abcdef ` - characterMask = "def" // []byte{"d", "e", "f"} - rsStr := gstr.TrimRight(str, characterMask) + var ( + str = `abcdef ` + characterMask = "def" // []byte{"d", "e", "f"} + rsStr = gstr.TrimRight(str, characterMask) + ) fmt.Println(rsStr) // Output: @@ -1485,25 +1962,35 @@ func ExampleTrimRight() { } func ExampleTrimRightStr() { - var str, cut string - var count int - str = `aaa,bbb,ccc,ddd,eee,` - cut = "," - count = 1 - rsStr := gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) + { + var ( + str = `aaa,bbb,ccc,ddd,eee,` + cut = "," + count = 1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } - str = `aaa,bbb,ccc,ddd,eee,,,,,` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) + { + var ( + str = `aaa,bbb,ccc,ddd,eee,,,,,` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } - str = `aaa,bbb,ccc,ddd,eee,,,,, ` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - fmt.Println(rsStr) + { + var ( + str = `aaa,bbb,ccc,ddd,eee,,,,, ` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } // Output: // aaa,bbb,ccc,ddd,eee @@ -1512,16 +1999,23 @@ func ExampleTrimRightStr() { } func ExampleTrimStr() { - var str, cut string - var count int - str = `goframe is Very Nice to-use` - cut = "goframe" - rsStr := gstr.TrimStr(str, cut, count) - fmt.Println(rsStr) - - cut = "use" - rsStr = gstr.TrimStr(str, cut, count) - fmt.Println(rsStr) + { + var ( + str = `goframe is Very Nice to-use` + cut = "goframe" + rsStr = gstr.TrimStr(str, cut) + ) + fmt.Println(rsStr) + } + { + var ( + str = `goframe is Very Nice to-use` + cut = "use" + count = -1 + rsStr = gstr.TrimStr(str, cut, count) + ) + fmt.Println(rsStr) + } // Output: // is Very Nice to-use @@ -1529,9 +2023,10 @@ func ExampleTrimStr() { } func ExampleUcFirst() { - var s string - s = `goframe is very nice to use.` - rsStr := gstr.UcFirst(s) + var ( + s = `goframe is very nice to use.` + rsStr = gstr.UcFirst(s) + ) fmt.Println(rsStr) // Output: @@ -1539,9 +2034,10 @@ func ExampleUcFirst() { } func ExampleUcWords() { - var str string - str = `goframe is very nice to use.` - rsStr := gstr.UcWords(str) + var ( + str = `goframe is very nice to use.` + rsStr = gstr.UcWords(str) + ) fmt.Println(rsStr) // Output: @@ -1549,19 +2045,25 @@ func ExampleUcWords() { } func ExampleWordWrap() { - var str, br string - var width int - str = `A very long woooooooooooooooooord. and something` - width = 8 - br = "\n" - rsStr := gstr.WordWrap(str, width, br) - fmt.Println(rsStr) + { + var ( + str = `A very long woooooooooooooooooord. and something` + width = 8 + br = "\n" + rsStr = gstr.WordWrap(str, width, br) + ) + fmt.Println(rsStr) + } - str = `The quick brown fox jumped over the lazy dog.` - width = 20 - br = "
\n" - rsStr = gstr.WordWrap(str, width, br) - fmt.Printf("%v", rsStr) + { + var ( + str = `The quick brown fox jumped over the lazy dog.` + width = 20 + br = "
\n" + rsStr = gstr.WordWrap(str, width, br) + ) + fmt.Printf("%v", rsStr) + } // Output: // A very From 290200a4903ede04b3320a104faa44d775229ea6 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Thu, 18 Nov 2021 06:26:27 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E8=A1=A8=E7=8E=B0=E5=BD=A2=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text/gstr/gstr_z_all_example_test.go | 134 ++++++++++++++++++--------- 1 file changed, 92 insertions(+), 42 deletions(-) diff --git a/text/gstr/gstr_z_all_example_test.go b/text/gstr/gstr_z_all_example_test.go index cfb05c8d9..79fe3023d 100644 --- a/text/gstr/gstr_z_all_example_test.go +++ b/text/gstr/gstr_z_all_example_test.go @@ -446,6 +446,16 @@ func ExampleCountI() { { var ( s = `goframe_is Very Nice.to-use` + substr = "Goframe" + rsStr = gstr.CountI(s, substr) + ) + + fmt.Println(rsStr) + } + + { + var ( + s = `Goframe_is Very Nice.to-use` substr = "golang" rsStr = gstr.CountI(s, substr) ) @@ -454,6 +464,7 @@ func ExampleCountI() { // Output: // 1 + // 1 // 0 } @@ -511,10 +522,10 @@ func ExampleExplode() { rsStr = gstr.Explode(delimiter, str) ) - fmt.Println(rsStr) + fmt.Printf(`%#v`, rsStr) // Output: - // [goframe is Very Nice to use] + // []string{"goframe", "is", "Very", "Nice", "to", "use"} } func ExampleFields() { @@ -523,10 +534,10 @@ func ExampleFields() { rsStr = gstr.Fields(str) ) - fmt.Println(rsStr) + fmt.Printf(`%#v`, rsStr) // Output: - // [goframe is Very Nice to-use] + // []string{"goframe", "is", "Very", "Nice", "to-use"} } func ExampleHasPrefix() { @@ -975,6 +986,7 @@ func ExampleOctStr() { // 怡 } +// '103' is the 'g' in ASCII func ExampleOrd() { var ( str = `goframe` @@ -985,6 +997,7 @@ func ExampleOrd() { // Output: // 103 + } func ExampleParse() { @@ -1633,13 +1646,13 @@ func ExampleSearchArray() { func ExampleShuffle() { var ( - str = `goframe_is Nice.` + str = `abcdefg` rsStr = gstr.Shuffle(str) ) fmt.Println(rsStr) // May Output: - // e giNomescraf._i + // efcgbda } func ExampleSimilarText() { @@ -1711,10 +1724,10 @@ func ExampleSplit() { delimiter = `_` rsStr = gstr.Split(str, delimiter) ) - fmt.Println(rsStr) + fmt.Printf(`%#v`, rsStr) // Output: - // [GoFrame Nice] + // []string{"GoFrame", "Nice"} } func ExampleSplitAndTrim() { @@ -1724,10 +1737,10 @@ func ExampleSplitAndTrim() { characterMask = ` ` rsStr = gstr.SplitAndTrim(str, delimiter, characterMask) ) - fmt.Println(rsStr) + fmt.Printf("%#v", rsStr) // Output: - // [goframe is Very Nice to use] + // []string{"goframe", "is", "Very", "Nice", "to", "use"} } func ExampleStr() { @@ -1755,29 +1768,55 @@ func ExampleStrEx() { } func ExampleStrLimit() { - var ( - str = `1234567890.png` - length = 8 - suffix = `.jpg` - rsStr = gstr.StrLimit(str, length, suffix) - ) - fmt.Println(rsStr) + { + var ( + str = `1234567890.png` + length = 4 + suffix = `.jpg` + rsStr = gstr.StrLimit(str, length, suffix) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `123456789` + length = 3 + suffix = `...` + rsStr = gstr.StrLimit(str, length, suffix) + ) + fmt.Println(rsStr) + } // Output: - // 12345678.jpg + // 1234.jpg + // 123... } func ExampleStrLimitRune() { - var ( - str = `123456789` - length = 5 - suffix = "ABCD" - rsStr = gstr.StrLimitRune(str, length, suffix) - ) - fmt.Println(rsStr) + { + var ( + str = `123456789` + length = 5 + suffix = "ABCD" + rsStr = gstr.StrLimitRune(str, length, suffix) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe是一个好用的框架她提供了非常丰富的工具给使用者.` + length = 15 + suffix = "!" + rsStr = gstr.StrLimitRune(str, length, suffix) + ) + fmt.Println(rsStr) + } // Output: // 12345ABCD + // goframe是一个好用的框架! } func ExampleStrTill() { @@ -1792,8 +1831,8 @@ func ExampleStrTill() { { var ( - haystack = `ABCDEFGHIJKLMN` - needle = `EF` + haystack = `https://goframe.org/index.html?test=123456` + needle = `?` rsStr = gstr.StrTill(haystack, needle) ) fmt.Println(rsStr) @@ -1801,14 +1840,14 @@ func ExampleStrTill() { // Output: // goframe是一个好用的框架, - // ABCDE + // https://goframe.org/index.html? } func ExampleStrTillEx() { { var ( - haystack = `abcdefg` - needle = `e` + haystack = `xxxx.txt` + needle = `.txt` rsStr = gstr.StrTillEx(haystack, needle) ) fmt.Println(rsStr) @@ -1816,16 +1855,16 @@ func ExampleStrTillEx() { { var ( - haystack = `abcdefg` - needle = `de` + haystack = `文件名.zip` + needle = `.zip` rsStr = gstr.StrTillEx(haystack, needle) ) fmt.Println(rsStr) } // Output: - // abcd - // abc + // xxxx + // 文件名 } func ExampleStripSlashes() { @@ -1866,16 +1905,27 @@ func ExampleSubStr() { } func ExampleSubStrRune() { - var ( - str = `123456789` - start = 5 - length = 4 - subStr = gstr.SubStrRune(str, start, length) - ) - fmt.Println(subStr) - + { + var ( + str = `123456789` + start = 5 + length = 4 + subStr = gstr.SubStrRune(str, start, length) + ) + fmt.Println(subStr) + } + { + var ( + str = `一二三四五六七八九零` + start = 5 + length = 4 + subStr = gstr.SubStrRune(str, start, length) + ) + fmt.Println(subStr) + } // Output: // 6789 + // 六七八九 } func ExampleToLower() { From f6facc75070ac2b89999dbb01356d4299815712a Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Thu, 18 Nov 2021 08:54:44 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gstr_z_all_example_test.go | 2127 ++++++++++++++++++++++++++++++++++++ 1 file changed, 2127 insertions(+) create mode 100644 gstr_z_all_example_test.go diff --git a/gstr_z_all_example_test.go b/gstr_z_all_example_test.go new file mode 100644 index 000000000..79fe3023d --- /dev/null +++ b/gstr_z_all_example_test.go @@ -0,0 +1,2127 @@ +package gstr_test + +import ( + "fmt" + + "github.com/gogf/gf/v2/text/gstr" +) + +func ExampleAddSlashes() { + var ( + str = `'aa'"bb"cc\r\n\d\t` + rsStr = gstr.AddSlashes(str) + ) + + fmt.Println(rsStr) + + // Output: + // \'aa\'\"bb\"cc\\r\\n\\d\\t +} + +func ExampleCaseCamel() { + var ( + str = `goframe_is very nice.to-use` + rsStr = gstr.CaseCamel(str) + ) + fmt.Println(rsStr) + + // Output: + // GoframeIsVeryNiceToUse +} + +func ExampleCaseCamelLower() { + var ( + str = `goframe_is very nice.to-use` + rsStr = gstr.CaseCamelLower(str) + ) + + fmt.Println(rsStr) + + // Output: + // goframeIsVeryNiceToUse +} + +func ExampleCaseDelimited() { + var ( + str = `goframe_is_very-nice.to-use` + del = uint8(35) + rsStr = gstr.CaseDelimited(str, del) + ) + fmt.Println(rsStr) + + // Output: + // goframe#is#very#nice#to#use +} + +func ExampleCaseDelimitedScreaming() { + { + var ( + str = `goframe_is Very Nice.to-use` + del = uint8(35) + rsStr = gstr.CaseDelimitedScreaming(str, del, true) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `GOFRAME_IS VERY NICE.TO-USE` + del = uint8(35) + rsStr = gstr.CaseDelimitedScreaming(str, del, false) + ) + fmt.Println(rsStr) + } + + // Output: + // GOFRAME#IS#VERY#NICE#TO#USE + // goframe#is#very#nice#to#use +} + +func ExampleCaseKebab() { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseKebab(str) + ) + fmt.Println(rsStr) + + // Output: + // goframe-is-very-nice-to-use +} + +func ExampleCaseKebabScreaming() { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseKebabScreaming(str) + ) + fmt.Println(rsStr) + + // Output: + // GOFRAME-IS-VERY-NICE-TO-USE +} + +func ExampleCaseSnake() { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseSnake(str) + ) + + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeFirstUpper() { + var ( + str = `GoframeIsVeryNiceToUse` + rsStr = gstr.CaseSnakeFirstUpper(str) + ) + + fmt.Println(rsStr) + + // Output: + // goframe_is_very_nice_to_use +} + +func ExampleCaseSnakeScreaming() { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CaseSnakeScreaming(str) + ) + + fmt.Println(rsStr) + + // Output: + // GOFRAME_IS_VERY_NICE_TO_USE +} + +func ExampleChr() { + var ( + ascii = 65 + rsStr = gstr.Chr(ascii) + ) + fmt.Println(rsStr) + + // Output: + // A +} + +func ExampleChunkSplit() { + { + var ( + body = `1234` + chunkLen = 2 + end = "#" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) + + fmt.Println(rsStr) + } + + { + var ( + body = `我爱Goframe` + chunkLen = 1 + end = "-" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) + fmt.Println(rsStr) + } + + { + var ( + body = `1234` + chunkLen = 1 + end = "" + rsStr = gstr.ChunkSplit(body, chunkLen, end) + ) + fmt.Println(rsStr) + } + + // May Output: + // 12#34# + // 我-爱-G-o-f-r-a-m-e- + // "1\r\n2\r\n3\r\n4\r\n" +} + +func ExampleCompare() { + { + var ( + a = "C" + b = "C" + rsStr = gstr.Compare(a, b) + ) + + fmt.Println(rsStr) + } + + { + var ( + a = "A" + b = "B" + rsStr = gstr.Compare(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = "C" + b = "B" + rsStr = gstr.Compare(a, b) + ) + fmt.Println(rsStr) + } + + // Output: + // 0 + // -1 + // 1 +} + +func ExampleCompareVersion() { + { + var ( + a = "v2.11.9" + b = "v2.10.8" + + rsStr = gstr.CompareVersion(a, b) + ) + + fmt.Println(rsStr) + } + + { + var ( + a = "A.10.8" + b = "A.19.7" + rsStr = gstr.CompareVersion(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = "2.8.beta" + b = "2.8" + rsStr = gstr.CompareVersion(a, b) + ) + fmt.Println(rsStr) + } + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleCompareVersionGo() { + + { + var ( + a = "v2.11.9" + b = "v2.10.8" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = "v0.0.2-20180626092158-b2ccc119800e" + b = "v1.0.1-20190626092158-b2ccc519800e" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = "v4.20.1" + b = "v4.20.1+incompatible" + rsStr = gstr.CompareVersionGo(a, b) + ) + fmt.Println(rsStr) + } + + // Output: + // 1 + // -1 + // 0 +} + +func ExampleContains() { + { + var ( + str = `goframe_is Very Nice.to-use` + substr = `goframe` + rsStr = gstr.Contains(str, substr) + ) + + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + substr = `Goframe` + rsStr = gstr.Contains(str, substr) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false +} + +func ExampleContainsAny() { + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "g" + rsStr = gstr.ContainsAny(s, chars) + ) + + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "G" + rsStr = gstr.ContainsAny(s, chars) + ) + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + chars = "Nice" + rsStr = gstr.ContainsAny(s, chars) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false + // true +} + +func ExampleContainsI() { + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "go" + rsStr = gstr.ContainsI(str, substr) + ) + + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "Go" + rsStr = gstr.ContainsI(str, substr) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "Golang" + rsStr = gstr.ContainsI(str, substr) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // true + // false +} + +func ExampleCount() { + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "goframe" + rsStr = gstr.Count(str, substr) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + substr = "golang" + rsStr = gstr.Count(str, substr) + ) + fmt.Println(rsStr) + } + + // Output: + // 1 + // 0 +} + +func ExampleCountChars() { + { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CountChars(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe_is Very Nice.to-use` + rsStr = gstr.CountChars(str, true) + ) + fmt.Println(rsStr) + } + + // May Output: + // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] + // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] + +} + +func ExampleCountI() { + { + var ( + s = `goframe_is Very Nice.to-use` + substr = "goframe" + rsStr = gstr.CountI(s, substr) + ) + + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + substr = "Goframe" + rsStr = gstr.CountI(s, substr) + ) + + fmt.Println(rsStr) + } + + { + var ( + s = `Goframe_is Very Nice.to-use` + substr = "golang" + rsStr = gstr.CountI(s, substr) + ) + fmt.Println(rsStr) + } + + // Output: + // 1 + // 1 + // 0 +} + +func ExampleCountWords() { + var ( + str = `goframe is Very Nice to use ! goframe Very Nice !` + rsStr = gstr.CountWords(str) + ) + + fmt.Println(rsStr) + + // Output: + // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1] +} + +func ExampleEqual() { + { + var ( + a = `A` + b = `a` + rsStr = gstr.Equal(a, b) + ) + + fmt.Println(rsStr) + } + + { + var ( + a = `A` + b = `A` + rsStr = gstr.Equal(a, b) + ) + fmt.Println(rsStr) + } + + { + var ( + a = `C` + b = `B` + rsStr = gstr.Equal(a, b) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // true + // false +} + +func ExampleExplode() { + var ( + str = `goframe_is_Very_Nice_to_use` + delimiter = "_" + rsStr = gstr.Explode(delimiter, str) + ) + + fmt.Printf(`%#v`, rsStr) + + // Output: + // []string{"goframe", "is", "Very", "Nice", "to", "use"} +} + +func ExampleFields() { + var ( + str = `goframe is Very Nice to-use` + rsStr = gstr.Fields(str) + ) + + fmt.Printf(`%#v`, rsStr) + + // Output: + // []string{"goframe", "is", "Very", "Nice", "to-use"} +} + +func ExampleHasPrefix() { + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "goframe" + rsStr = gstr.HasPrefix(s, prefix) + ) + + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "Goframe" + rsStr = gstr.HasPrefix(s, prefix) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false +} + +func ExampleHasSuffix() { + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "use" + rsStr = gstr.HasSuffix(s, prefix) + ) + fmt.Println(rsStr) + } + + { + var ( + s = `goframe_is Very Nice.to-use` + prefix = "Use" + rsStr = gstr.HasSuffix(s, prefix) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false +} + +func ExampleHideStr() { + { + var ( + str = `13800138000` + percent = 40 + hide = `*` + rsStr = gstr.HideStr(str, percent, hide) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `AAAAAAAAAA` + percent = 60 + hide = `@` + rsStr = gstr.HideStr(str, percent, hide) + ) + fmt.Println(rsStr) + } + + // Output: + // 138****8000 + // AA@@@@@@AA +} + +func ExampleImplode() { + var ( + pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} + glue = "-" + rsStr = gstr.Implode(glue, pieces) + ) + fmt.Println(rsStr) + + // Output: + // goframe-is-Very-Nice-to-use +} + +func ExampleInArray() { + { + var ( + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "goframe" + rsStr = gstr.InArray(a, s) + ) + fmt.Println(rsStr) + } + + { + var ( + a = []string{"goframe", "is", "Very", "Nice", "to", "use"} + s = "golang" + rsStr = gstr.InArray(a, s) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false +} + +func ExampleIsLetterLower() { + { + var ( + b byte = 65 // In ASCII is "a" + rsStr = gstr.IsLetterLower(b) + ) + fmt.Println(rsStr) + } + + { + var ( + b byte = 97 // In ASCII is "A" + rsStr = gstr.IsLetterLower(b) + ) + fmt.Println(rsStr) + } + + // Output: + // false + // true +} + +func ExampleIsLetterUpper() { + { + var ( + b byte = 65 // In ASCII is "a" + rsStr = gstr.IsLetterUpper(b) + ) + fmt.Println(rsStr) + } + + { + var ( + b byte = 97 // In ASCII is "A" + rsStr = gstr.IsLetterUpper(b) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false +} + +func ExampleIsNumeric() { + { + var ( + s = "88" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } + + { + var ( + s = "aa66bb88" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } + + { + var ( + s = "3.1415926" + rsStr = gstr.IsNumeric(s) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // false + // true +} + +func ExampleIsSubDomain() { + { + var ( + subDomain = `s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } + + { + var ( + subDomain = `s.s.goframe.org` + mainDomain = `goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } + + { + var ( + subDomain = `s.s.goframe.org` + mainDomain = `*goframe.org` + rsStr = gstr.IsSubDomain(subDomain, mainDomain) + ) + fmt.Println(rsStr) + } + + // Output: + // true + // true + // false +} + +func ExampleJoin() { + var ( + array = []string{"goframe", "is", "Very", "Nice", "to", "use"} + sep = `,` + rsStr = gstr.Join(array, sep) + ) + fmt.Println(rsStr) + + // Output: + // goframe,is,Very,Nice,to,use +} + +func ExampleJoinAny() { + { + var ( + sep = `@` + arr1 = []string{"goframe", "is", "Very", "Nice", "to", "use"} + rsStr = gstr.JoinAny(arr1, sep) + ) + fmt.Println(rsStr) + } + + { + var ( + sep = `,` + arr2 = []int{99, 73, 85, 66} + rsStr2 = gstr.JoinAny(arr2, sep) + ) + fmt.Println(rsStr2) + } + + { + var ( + sep = `,` + arr3 = []interface{}{ + "Mary", + 18, + 99.5, + "
", + "Jack", + 19, + 66.5, + } + rsStr3 = gstr.JoinAny(arr3, sep) + ) + fmt.Println(rsStr3) + } + + { + type StructA struct { + Name string + Age int + } + var ( + sep = `|` + + arr4 = []StructA{ + {"Mary", 18}, + {"Jack", 18}, + {"Lucy", 18}, + } + rsStr = gstr.JoinAny(arr4, sep) + ) + fmt.Println(rsStr) + } + + // Output: + // goframe@is@Very@Nice@to@use + // 99,73,85,66 + // Mary,18,99.5,
,Jack,19,66.5 + // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} +} + +func ExampleLcFirst() { + { + var ( + str = `Goframe` + rsStr = gstr.LcFirst(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `Goframe is Very Nice to use.` + rsStr = gstr.LcFirst(str) + ) + fmt.Println(rsStr) + } + + // Output: + // goframe + // goframe is Very Nice to use. +} + +func ExampleLenRune() { + { + var ( + str = `goframe is Very Nice to use` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `123 4567 890` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `Goframe是一个非常好用的Go语言框架!` + rsStr = gstr.LenRune(str) + ) + fmt.Println(rsStr) + } + + // Output: + // 27 + // 12 + // 22 +} + +func ExampleLevenshtein() { + { + var ( + str1 = "Hello World" + str2 = "ello World" + costIns = 1 + costRep = 1 + costDel = 1 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + ) + + fmt.Println(rsStr) + } + + { + var ( + str1 = "Hello World" + str2 = "ello Worles" + costIns = 10 + costRep = 20 + costDel = 30 + rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) + ) + fmt.Println(rsStr) + } + + // Output: + // 1 + // 60 +} + +func ExampleNl2Br() { + var ( + str = `goframe +is +Very +Nice +to +use` + rsStr = gstr.Nl2Br(str) + ) + + fmt.Println(rsStr) + + // Output: + // goframe
is
Very
Nice
to
use +} + +func ExampleNumberFormat() { + + { + var ( + number float64 = 123456 + decimals = 2 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } + + { + var ( + number = 1234.56 + decimals = 1 + decPoint = "," + thousandsSep = " " + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } + + { + var ( + number = 1234.5678 + decimals = 3 + decPoint = "." + thousandsSep = "," + rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) + ) + fmt.Println(rsStr) + } + + // Output: + // 123,456.00 + // 1 234,6 + // 1,234.568 +} + +func ExampleOctStr() { + var ( + str = `\346\200\241` + rsStr = gstr.OctStr(str) + ) + fmt.Println(rsStr) + + // Output: + // 怡 +} + +// '103' is the 'g' in ASCII +func ExampleOrd() { + var ( + str = `goframe` + rsStr = gstr.Ord(str) + ) + + fmt.Println(rsStr) + + // Output: + // 103 + +} + +func ExampleParse() { + { + var ( + str = `v1=m&v2=n` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `v[a][a]=m&v[a][b]=n` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) + } + + { + // The form of nested Slice is not yet supported. + var str = `v[][]=m&v[][]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + panic(err) + } + fmt.Println(rsStr) + } + + { + // This will produce an error. + var str = `v=m&v[a]=n` + rsStr, err := gstr.Parse(str) + if err != nil { + println(err) + } + fmt.Println(rsStr) + } + + { + var ( + str = `a .[[b=c` + rsStr, _ = gstr.Parse(str) + ) + fmt.Println(rsStr) + } + + // May Output: + // map[v1:m v2:n] + // map[v:map[a:map[a:m b:n]]] + // map[v:map[]] + // Error: expected type 'map[string]interface{}' for key 'v', but got 'string' + // map[] + // map[a___[b:c] +} + +func ExamplePos() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.Pos(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.Pos(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.Pos(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.Pos(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosI() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosI(haystack, needle) + ) + + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosI(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 16 + // -1 + // 16 +} + +func ExamplePosIRune() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosIRune(haystack, needle) + ) + + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架.` + needle = `nice` + rsStr = gstr.PosIRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // -1 + // -1 + // -1 +} + +func ExamplePosR() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosR(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosR(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosR(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosR(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 16 + // -1 + // -1 +} + +func ExamplePosRI() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRI(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosRI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosRI(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `nice` + rsStr = gstr.PosRI(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 16 + // -1 + // 16 + +} + +func ExamplePosRIRune() { + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `好用` + rsStr = gstr.PosRIRune(haystack, needle) + ) + + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `框架` + startOffset = 16 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `golang` + startOffset = 17 + rsStr = gstr.PosRIRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是个非常好用的框架` + needle = `goframe` + rsStr = gstr.PosRIRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 11 + // 14 + // -1 + // 0 +} + +func ExamplePosRRune() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + startOffset = 16 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是中国开发者的福利.` + needle = `Nice` + startOffset = 17 + rsStr = gstr.PosRRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `Goframe是中国开发者的福利.` + needle = `开发者` + rsStr = gstr.PosRRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 16 + // -1 + // 10 +} + +func ExamplePosRune() { + { + var ( + haystack = `goframe_is Very Nice.to-use` + needle = `Nice` + rsStr = gstr.PosRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `我喜欢Goframe框架` + needle = `框架` + startOffset = 16 + rsStr = gstr.PosRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `我喜欢Goframe框架` + needle = `框架` + startOffset = 17 + rsStr = gstr.PosRune(haystack, needle, startOffset) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `我喜欢Goframe框架` + needle = `goframe` + rsStr = gstr.PosRune(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // 16 + // 10 + // -1 + // -1 +} + +func ExampleQuoteMeta() { + { + var ( + str = `.\+?[^]()` + rsStr = gstr.QuoteMeta(str) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `https://goframe.org/pages/viewpage.action?pageId=1114327` + rsStr = gstr.QuoteMeta(str) + ) + fmt.Println(rsStr) + } + + // Output: + // \.\\\+\?\[\^\]\(\) + // https://goframe\.org/pages/viewpage\.action\?pageId=1114327 + +} + +func ExampleRepeat() { + var ( + input = `goframe ` + multiplier = 3 + rsStr = gstr.Repeat(input, multiplier) + ) + fmt.Println(rsStr) + + // Output: + // goframe goframe goframe +} + +func ExampleReplace() { + { + var ( + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + rsStr = gstr.Replace(origin, search, replace) + ) + fmt.Println(rsStr) + } + + { + var ( + origin = `goframe_is_Very_Nice_to_use!` + search = `_` + replace = `+` + count = 2 + rsStr = gstr.Replace(origin, search, replace, count) + ) + fmt.Println(rsStr) + } + + // Output: + // goframe+is+Very+Nice+to+use! + // goframe+is+Very_Nice_to_use! +} + +func ExampleReplaceByArray() { + { + var ( + origin = `Golang is Very Good` + array = []string{"o", "O"} + rsStr = gstr.ReplaceByArray(origin, array) + ) + fmt.Println(rsStr) + } + + { + var ( + origin = `Golang is Very Good` + array = []string{"Golang", "Goframe", "Good", "Nice"} + rsStr = gstr.ReplaceByArray(origin, array) + ) + fmt.Println(rsStr) + } + + // Output: + // GOlang is Very GOOd + // Goframe is Very Nice +} + +func ExampleReplaceByMap() { + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + ) + fmt.Println(rsStr) + } + + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceByMap(origin, replaces) + ) + fmt.Println(rsStr) + } + + // Output: + // Goframe is Very Nice + // Golang is Very Good +} + +func ExampleReplaceI() { + var ( + origin = `goframe is Very Nice to use` + search = `Goframe` + replace = `golang` + count = 3 + rsStr = gstr.ReplaceI(origin, search, replace, count) + ) + fmt.Println(rsStr) + + // Output: + // golang is Very Nice to use +} + +func ExampleReplaceIByArray() { + var ( + origin = `golang is very nice` + array = []string{"Golang", "GoFrame", "Nice", "GOOD"} + rsStr = gstr.ReplaceIByArray(origin, array) + ) + + fmt.Println(rsStr) + + // Output: + // GoFrame is very GOOD +} + +func ExampleReplaceIByMap() { + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "Golang": "Goframe", + "Good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + ) + fmt.Println(rsStr) + } + + { + var ( + origin = `Golang is Very Good` + replaces = map[string]string{ + "golang": "Goframe", + "good": "Nice", + } + rsStr = gstr.ReplaceIByMap(origin, replaces) + ) + fmt.Println(rsStr) + } + + // Output: + // Goframe is Very Nice + // Goframe is Very Nice +} + +func ExampleReverse() { + var ( + str = `123456` + rsStr = gstr.Reverse(str) + ) + fmt.Println(rsStr) + + // Output: + // 654321 +} + +func ExampleSearchArray() { + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `goframe` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) + } + + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `Very` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) + } + + { + var ( + a = []string{"goframe", "is", "Very", "Nice"} + s = `use` + rsStr = gstr.SearchArray(a, s) + ) + fmt.Println(rsStr) + } + + // Output: + // 0 + // 2 + // -1 +} + +func ExampleShuffle() { + var ( + str = `abcdefg` + rsStr = gstr.Shuffle(str) + ) + fmt.Println(rsStr) + + // May Output: + // efcgbda +} + +func ExampleSimilarText() { + { + var ( + percent *float64 + first = `goframe_is` + second = `go-nice` + rsStr = gstr.SimilarText(first, second, percent) + ) + fmt.Println(rsStr) + } + + { + var ( + first = `AaBbCcDd` + second = `ad` + ) + p := 0.80 + rsStr := gstr.SimilarText(first, second, &p) + fmt.Println(rsStr) + } + + // Output: + // 3 + // 2 +} + +func ExampleSoundex() { + { + var ( + str = `Euler` + str2 = `Ellery` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } + + { + var ( + str = `Gauss` + str2 = `Ghosh` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } + + { + var ( + str = `Lloyd` + str2 = `Ladd` + rsStr = gstr.Soundex(str) + rsStr2 = gstr.Soundex(str2) + ) + fmt.Println(rsStr, rsStr2) + } + + // Output: + // E406 E406 + // G020 G020 + // L030 L030 +} + +func ExampleSplit() { + var ( + str = `GoFrame_Nice` + delimiter = `_` + rsStr = gstr.Split(str, delimiter) + ) + fmt.Printf(`%#v`, rsStr) + + // Output: + // []string{"GoFrame", "Nice"} +} + +func ExampleSplitAndTrim() { + var ( + str = ` goframe, is, Very ,Nice ,to, use` + delimiter = `,` + characterMask = ` ` + rsStr = gstr.SplitAndTrim(str, delimiter, characterMask) + ) + fmt.Printf("%#v", rsStr) + + // Output: + // []string{"goframe", "is", "Very", "Nice", "to", "use"} +} + +func ExampleStr() { + var ( + haystack = `xxx.jpg` + needle = `.` + rsStr = gstr.Str(haystack, needle) + ) + fmt.Println(rsStr) + + // Output: + // .jpg +} + +func ExampleStrEx() { + var ( + haystack = `https://goframe.org/index.html?a=1&b=2` + needle = `?` + rsStr = gstr.StrEx(haystack, needle) + ) + fmt.Println(rsStr) + + // Output: + // a=1&b=2 +} + +func ExampleStrLimit() { + { + var ( + str = `1234567890.png` + length = 4 + suffix = `.jpg` + rsStr = gstr.StrLimit(str, length, suffix) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `123456789` + length = 3 + suffix = `...` + rsStr = gstr.StrLimit(str, length, suffix) + ) + fmt.Println(rsStr) + } + + // Output: + // 1234.jpg + // 123... +} + +func ExampleStrLimitRune() { + { + var ( + str = `123456789` + length = 5 + suffix = "ABCD" + rsStr = gstr.StrLimitRune(str, length, suffix) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `goframe是一个好用的框架她提供了非常丰富的工具给使用者.` + length = 15 + suffix = "!" + rsStr = gstr.StrLimitRune(str, length, suffix) + ) + fmt.Println(rsStr) + } + + // Output: + // 12345ABCD + // goframe是一个好用的框架! +} + +func ExampleStrTill() { + { + var ( + haystack = `goframe是一个好用的框架,她提供了非常丰富的工具给使用者.` + needle = `,` + rsStr = gstr.StrTill(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `https://goframe.org/index.html?test=123456` + needle = `?` + rsStr = gstr.StrTill(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // goframe是一个好用的框架, + // https://goframe.org/index.html? +} + +func ExampleStrTillEx() { + { + var ( + haystack = `xxxx.txt` + needle = `.txt` + rsStr = gstr.StrTillEx(haystack, needle) + ) + fmt.Println(rsStr) + } + + { + var ( + haystack = `文件名.zip` + needle = `.zip` + rsStr = gstr.StrTillEx(haystack, needle) + ) + fmt.Println(rsStr) + } + + // Output: + // xxxx + // 文件名 +} + +func ExampleStripSlashes() { + var ( + str = `C:\\windows\\GoFrame\\test` + rsStr = gstr.StripSlashes(str) + ) + fmt.Println(rsStr) + + // Output: + // C:\windows\GoFrame\test +} + +func ExampleSubStr() { + { + var ( + str = `123456789` + start = 0 + length = 2 + subStr = gstr.SubStr(str, start, length) + ) + fmt.Println(subStr) + } + + { + var ( + str = `123456789` + start = 5 + length = 3 + subStr = gstr.SubStr(str, start, length) + ) + fmt.Println(subStr) + } + + // Output: + // 12 + // 678 +} + +func ExampleSubStrRune() { + { + var ( + str = `123456789` + start = 5 + length = 4 + subStr = gstr.SubStrRune(str, start, length) + ) + fmt.Println(subStr) + } + { + var ( + str = `一二三四五六七八九零` + start = 5 + length = 4 + subStr = gstr.SubStrRune(str, start, length) + ) + fmt.Println(subStr) + } + // Output: + // 6789 + // 六七八九 +} + +func ExampleToLower() { + var ( + s = `GOFRAME IS VERY NICE TO USE` + rsStr = gstr.ToLower(s) + ) + fmt.Println(rsStr) + + // Output: + // goframe is very nice to use +} + +func ExampleToUpper() { + var ( + s = `goframe is very nice to use` + rsStr = gstr.ToUpper(s) + ) + fmt.Println(rsStr) + + // Output: + // GOFRAME IS VERY NICE TO USE +} + +func ExampleTrim() { + var ( + str = `.abc.def..` + characterMask = "." + rsStr = gstr.Trim(str, characterMask) + ) + fmt.Println(rsStr) + + // Output: + // abc.def +} + +func ExampleTrimAll() { + var ( + str = `.abc.def...` + characterMask = "." + rsStr = gstr.TrimAll(str, characterMask) + ) + fmt.Println(rsStr) + + // Output: + // abcdef +} + +func ExampleTrimLeft() { + var ( + str = `..abc.def.. ` + characterMask = "." + rsStr = gstr.TrimLeft(str, characterMask) + ) + fmt.Println(rsStr) + + // Output: + // abc.def.. +} + +func ExampleTrimLeftStr() { + var ( + str = `...abcd..efg...` + cut = "." + count = 2 + rsStr = gstr.TrimLeftStr(str, cut, count) + ) + fmt.Println(rsStr) + + // Output: + // .abcd..efg... +} + +func ExampleTrimRight() { + var ( + str = `abcdef ` + characterMask = "def" // []byte{"d", "e", "f"} + rsStr = gstr.TrimRight(str, characterMask) + ) + fmt.Println(rsStr) + + // Output: + // abc +} + +func ExampleTrimRightStr() { + { + var ( + str = `aaa,bbb,ccc,ddd,eee,` + cut = "," + count = 1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `aaa,bbb,ccc,ddd,eee,,,,,` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `aaa,bbb,ccc,ddd,eee,,,,, ` + cut = "," + count = -1 + rsStr = gstr.TrimRightStr(str, cut, count) + ) + fmt.Println(rsStr) + } + + // Output: + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee + // aaa,bbb,ccc,ddd,eee,,,,, +} + +func ExampleTrimStr() { + { + var ( + str = `goframe is Very Nice to-use` + cut = "goframe" + rsStr = gstr.TrimStr(str, cut) + ) + fmt.Println(rsStr) + } + { + var ( + str = `goframe is Very Nice to-use` + cut = "use" + count = -1 + rsStr = gstr.TrimStr(str, cut, count) + ) + fmt.Println(rsStr) + } + + // Output: + // is Very Nice to-use + // goframe is Very Nice to- +} + +func ExampleUcFirst() { + var ( + s = `goframe is very nice to use.` + rsStr = gstr.UcFirst(s) + ) + fmt.Println(rsStr) + + // Output: + // Goframe is very nice to use. +} + +func ExampleUcWords() { + var ( + str = `goframe is very nice to use.` + rsStr = gstr.UcWords(str) + ) + fmt.Println(rsStr) + + // Output: + // Goframe Is Very Nice To Use. +} + +func ExampleWordWrap() { + { + var ( + str = `A very long woooooooooooooooooord. and something` + width = 8 + br = "\n" + rsStr = gstr.WordWrap(str, width, br) + ) + fmt.Println(rsStr) + } + + { + var ( + str = `The quick brown fox jumped over the lazy dog.` + width = 20 + br = "
\n" + rsStr = gstr.WordWrap(str, width, br) + ) + fmt.Printf("%v", rsStr) + } + + // Output: + // A very + // long + // woooooooooooooooooord. + // and + // something + // The quick brown fox
+ // jumped over the lazy
+ // dog. +} From a184d16f061e056f3f62c6beb623dd46c5a5d092 Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Thu, 18 Nov 2021 08:58:21 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From be2a0f4a1888e95bf714c54909f6aaf8b0545e3e Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Thu, 18 Nov 2021 08:58:48 +0800 Subject: [PATCH 16/17] Delete gstr_z_all_example_test.go --- gstr_z_all_example_test.go | 2127 ------------------------------------ 1 file changed, 2127 deletions(-) delete mode 100644 gstr_z_all_example_test.go diff --git a/gstr_z_all_example_test.go b/gstr_z_all_example_test.go deleted file mode 100644 index 79fe3023d..000000000 --- a/gstr_z_all_example_test.go +++ /dev/null @@ -1,2127 +0,0 @@ -package gstr_test - -import ( - "fmt" - - "github.com/gogf/gf/v2/text/gstr" -) - -func ExampleAddSlashes() { - var ( - str = `'aa'"bb"cc\r\n\d\t` - rsStr = gstr.AddSlashes(str) - ) - - fmt.Println(rsStr) - - // Output: - // \'aa\'\"bb\"cc\\r\\n\\d\\t -} - -func ExampleCaseCamel() { - var ( - str = `goframe_is very nice.to-use` - rsStr = gstr.CaseCamel(str) - ) - fmt.Println(rsStr) - - // Output: - // GoframeIsVeryNiceToUse -} - -func ExampleCaseCamelLower() { - var ( - str = `goframe_is very nice.to-use` - rsStr = gstr.CaseCamelLower(str) - ) - - fmt.Println(rsStr) - - // Output: - // goframeIsVeryNiceToUse -} - -func ExampleCaseDelimited() { - var ( - str = `goframe_is_very-nice.to-use` - del = uint8(35) - rsStr = gstr.CaseDelimited(str, del) - ) - fmt.Println(rsStr) - - // Output: - // goframe#is#very#nice#to#use -} - -func ExampleCaseDelimitedScreaming() { - { - var ( - str = `goframe_is Very Nice.to-use` - del = uint8(35) - rsStr = gstr.CaseDelimitedScreaming(str, del, true) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `GOFRAME_IS VERY NICE.TO-USE` - del = uint8(35) - rsStr = gstr.CaseDelimitedScreaming(str, del, false) - ) - fmt.Println(rsStr) - } - - // Output: - // GOFRAME#IS#VERY#NICE#TO#USE - // goframe#is#very#nice#to#use -} - -func ExampleCaseKebab() { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CaseKebab(str) - ) - fmt.Println(rsStr) - - // Output: - // goframe-is-very-nice-to-use -} - -func ExampleCaseKebabScreaming() { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CaseKebabScreaming(str) - ) - fmt.Println(rsStr) - - // Output: - // GOFRAME-IS-VERY-NICE-TO-USE -} - -func ExampleCaseSnake() { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CaseSnake(str) - ) - - fmt.Println(rsStr) - - // Output: - // goframe_is_very_nice_to_use -} - -func ExampleCaseSnakeFirstUpper() { - var ( - str = `GoframeIsVeryNiceToUse` - rsStr = gstr.CaseSnakeFirstUpper(str) - ) - - fmt.Println(rsStr) - - // Output: - // goframe_is_very_nice_to_use -} - -func ExampleCaseSnakeScreaming() { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CaseSnakeScreaming(str) - ) - - fmt.Println(rsStr) - - // Output: - // GOFRAME_IS_VERY_NICE_TO_USE -} - -func ExampleChr() { - var ( - ascii = 65 - rsStr = gstr.Chr(ascii) - ) - fmt.Println(rsStr) - - // Output: - // A -} - -func ExampleChunkSplit() { - { - var ( - body = `1234` - chunkLen = 2 - end = "#" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - ) - - fmt.Println(rsStr) - } - - { - var ( - body = `我爱Goframe` - chunkLen = 1 - end = "-" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - ) - fmt.Println(rsStr) - } - - { - var ( - body = `1234` - chunkLen = 1 - end = "" - rsStr = gstr.ChunkSplit(body, chunkLen, end) - ) - fmt.Println(rsStr) - } - - // May Output: - // 12#34# - // 我-爱-G-o-f-r-a-m-e- - // "1\r\n2\r\n3\r\n4\r\n" -} - -func ExampleCompare() { - { - var ( - a = "C" - b = "C" - rsStr = gstr.Compare(a, b) - ) - - fmt.Println(rsStr) - } - - { - var ( - a = "A" - b = "B" - rsStr = gstr.Compare(a, b) - ) - fmt.Println(rsStr) - } - - { - var ( - a = "C" - b = "B" - rsStr = gstr.Compare(a, b) - ) - fmt.Println(rsStr) - } - - // Output: - // 0 - // -1 - // 1 -} - -func ExampleCompareVersion() { - { - var ( - a = "v2.11.9" - b = "v2.10.8" - - rsStr = gstr.CompareVersion(a, b) - ) - - fmt.Println(rsStr) - } - - { - var ( - a = "A.10.8" - b = "A.19.7" - rsStr = gstr.CompareVersion(a, b) - ) - fmt.Println(rsStr) - } - - { - var ( - a = "2.8.beta" - b = "2.8" - rsStr = gstr.CompareVersion(a, b) - ) - fmt.Println(rsStr) - } - - // Output: - // 1 - // -1 - // 0 -} - -func ExampleCompareVersionGo() { - - { - var ( - a = "v2.11.9" - b = "v2.10.8" - rsStr = gstr.CompareVersionGo(a, b) - ) - fmt.Println(rsStr) - } - - { - var ( - a = "v0.0.2-20180626092158-b2ccc119800e" - b = "v1.0.1-20190626092158-b2ccc519800e" - rsStr = gstr.CompareVersionGo(a, b) - ) - fmt.Println(rsStr) - } - - { - var ( - a = "v4.20.1" - b = "v4.20.1+incompatible" - rsStr = gstr.CompareVersionGo(a, b) - ) - fmt.Println(rsStr) - } - - // Output: - // 1 - // -1 - // 0 -} - -func ExampleContains() { - { - var ( - str = `goframe_is Very Nice.to-use` - substr = `goframe` - rsStr = gstr.Contains(str, substr) - ) - - fmt.Println(rsStr) - } - - { - var ( - str = `goframe_is Very Nice.to-use` - substr = `Goframe` - rsStr = gstr.Contains(str, substr) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false -} - -func ExampleContainsAny() { - { - var ( - s = `goframe_is Very Nice.to-use` - chars = "g" - rsStr = gstr.ContainsAny(s, chars) - ) - - fmt.Println(rsStr) - } - - { - var ( - s = `goframe_is Very Nice.to-use` - chars = "G" - rsStr = gstr.ContainsAny(s, chars) - ) - fmt.Println(rsStr) - } - - { - var ( - s = `goframe_is Very Nice.to-use` - chars = "Nice" - rsStr = gstr.ContainsAny(s, chars) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false - // true -} - -func ExampleContainsI() { - { - var ( - str = `goframe_is Very Nice.to-use` - substr = "go" - rsStr = gstr.ContainsI(str, substr) - ) - - fmt.Println(rsStr) - } - - { - var ( - str = `goframe_is Very Nice.to-use` - substr = "Go" - rsStr = gstr.ContainsI(str, substr) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `goframe_is Very Nice.to-use` - substr = "Golang" - rsStr = gstr.ContainsI(str, substr) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // true - // false -} - -func ExampleCount() { - { - var ( - str = `goframe_is Very Nice.to-use` - substr = "goframe" - rsStr = gstr.Count(str, substr) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `goframe_is Very Nice.to-use` - substr = "golang" - rsStr = gstr.Count(str, substr) - ) - fmt.Println(rsStr) - } - - // Output: - // 1 - // 0 -} - -func ExampleCountChars() { - { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CountChars(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `goframe_is Very Nice.to-use` - rsStr = gstr.CountChars(str, true) - ) - fmt.Println(rsStr) - } - - // May Output: - // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] - // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1] - -} - -func ExampleCountI() { - { - var ( - s = `goframe_is Very Nice.to-use` - substr = "goframe" - rsStr = gstr.CountI(s, substr) - ) - - fmt.Println(rsStr) - } - - { - var ( - s = `goframe_is Very Nice.to-use` - substr = "Goframe" - rsStr = gstr.CountI(s, substr) - ) - - fmt.Println(rsStr) - } - - { - var ( - s = `Goframe_is Very Nice.to-use` - substr = "golang" - rsStr = gstr.CountI(s, substr) - ) - fmt.Println(rsStr) - } - - // Output: - // 1 - // 1 - // 0 -} - -func ExampleCountWords() { - var ( - str = `goframe is Very Nice to use ! goframe Very Nice !` - rsStr = gstr.CountWords(str) - ) - - fmt.Println(rsStr) - - // Output: - // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1] -} - -func ExampleEqual() { - { - var ( - a = `A` - b = `a` - rsStr = gstr.Equal(a, b) - ) - - fmt.Println(rsStr) - } - - { - var ( - a = `A` - b = `A` - rsStr = gstr.Equal(a, b) - ) - fmt.Println(rsStr) - } - - { - var ( - a = `C` - b = `B` - rsStr = gstr.Equal(a, b) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // true - // false -} - -func ExampleExplode() { - var ( - str = `goframe_is_Very_Nice_to_use` - delimiter = "_" - rsStr = gstr.Explode(delimiter, str) - ) - - fmt.Printf(`%#v`, rsStr) - - // Output: - // []string{"goframe", "is", "Very", "Nice", "to", "use"} -} - -func ExampleFields() { - var ( - str = `goframe is Very Nice to-use` - rsStr = gstr.Fields(str) - ) - - fmt.Printf(`%#v`, rsStr) - - // Output: - // []string{"goframe", "is", "Very", "Nice", "to-use"} -} - -func ExampleHasPrefix() { - { - var ( - s = `goframe_is Very Nice.to-use` - prefix = "goframe" - rsStr = gstr.HasPrefix(s, prefix) - ) - - fmt.Println(rsStr) - } - - { - var ( - s = `goframe_is Very Nice.to-use` - prefix = "Goframe" - rsStr = gstr.HasPrefix(s, prefix) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false -} - -func ExampleHasSuffix() { - { - var ( - s = `goframe_is Very Nice.to-use` - prefix = "use" - rsStr = gstr.HasSuffix(s, prefix) - ) - fmt.Println(rsStr) - } - - { - var ( - s = `goframe_is Very Nice.to-use` - prefix = "Use" - rsStr = gstr.HasSuffix(s, prefix) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false -} - -func ExampleHideStr() { - { - var ( - str = `13800138000` - percent = 40 - hide = `*` - rsStr = gstr.HideStr(str, percent, hide) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `AAAAAAAAAA` - percent = 60 - hide = `@` - rsStr = gstr.HideStr(str, percent, hide) - ) - fmt.Println(rsStr) - } - - // Output: - // 138****8000 - // AA@@@@@@AA -} - -func ExampleImplode() { - var ( - pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"} - glue = "-" - rsStr = gstr.Implode(glue, pieces) - ) - fmt.Println(rsStr) - - // Output: - // goframe-is-Very-Nice-to-use -} - -func ExampleInArray() { - { - var ( - a = []string{"goframe", "is", "Very", "Nice", "to", "use"} - s = "goframe" - rsStr = gstr.InArray(a, s) - ) - fmt.Println(rsStr) - } - - { - var ( - a = []string{"goframe", "is", "Very", "Nice", "to", "use"} - s = "golang" - rsStr = gstr.InArray(a, s) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false -} - -func ExampleIsLetterLower() { - { - var ( - b byte = 65 // In ASCII is "a" - rsStr = gstr.IsLetterLower(b) - ) - fmt.Println(rsStr) - } - - { - var ( - b byte = 97 // In ASCII is "A" - rsStr = gstr.IsLetterLower(b) - ) - fmt.Println(rsStr) - } - - // Output: - // false - // true -} - -func ExampleIsLetterUpper() { - { - var ( - b byte = 65 // In ASCII is "a" - rsStr = gstr.IsLetterUpper(b) - ) - fmt.Println(rsStr) - } - - { - var ( - b byte = 97 // In ASCII is "A" - rsStr = gstr.IsLetterUpper(b) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false -} - -func ExampleIsNumeric() { - { - var ( - s = "88" - rsStr = gstr.IsNumeric(s) - ) - fmt.Println(rsStr) - } - - { - var ( - s = "aa66bb88" - rsStr = gstr.IsNumeric(s) - ) - fmt.Println(rsStr) - } - - { - var ( - s = "3.1415926" - rsStr = gstr.IsNumeric(s) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // false - // true -} - -func ExampleIsSubDomain() { - { - var ( - subDomain = `s.goframe.org` - mainDomain = `goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - ) - fmt.Println(rsStr) - } - - { - var ( - subDomain = `s.s.goframe.org` - mainDomain = `goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - ) - fmt.Println(rsStr) - } - - { - var ( - subDomain = `s.s.goframe.org` - mainDomain = `*goframe.org` - rsStr = gstr.IsSubDomain(subDomain, mainDomain) - ) - fmt.Println(rsStr) - } - - // Output: - // true - // true - // false -} - -func ExampleJoin() { - var ( - array = []string{"goframe", "is", "Very", "Nice", "to", "use"} - sep = `,` - rsStr = gstr.Join(array, sep) - ) - fmt.Println(rsStr) - - // Output: - // goframe,is,Very,Nice,to,use -} - -func ExampleJoinAny() { - { - var ( - sep = `@` - arr1 = []string{"goframe", "is", "Very", "Nice", "to", "use"} - rsStr = gstr.JoinAny(arr1, sep) - ) - fmt.Println(rsStr) - } - - { - var ( - sep = `,` - arr2 = []int{99, 73, 85, 66} - rsStr2 = gstr.JoinAny(arr2, sep) - ) - fmt.Println(rsStr2) - } - - { - var ( - sep = `,` - arr3 = []interface{}{ - "Mary", - 18, - 99.5, - "
", - "Jack", - 19, - 66.5, - } - rsStr3 = gstr.JoinAny(arr3, sep) - ) - fmt.Println(rsStr3) - } - - { - type StructA struct { - Name string - Age int - } - var ( - sep = `|` - - arr4 = []StructA{ - {"Mary", 18}, - {"Jack", 18}, - {"Lucy", 18}, - } - rsStr = gstr.JoinAny(arr4, sep) - ) - fmt.Println(rsStr) - } - - // Output: - // goframe@is@Very@Nice@to@use - // 99,73,85,66 - // Mary,18,99.5,
,Jack,19,66.5 - // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18} -} - -func ExampleLcFirst() { - { - var ( - str = `Goframe` - rsStr = gstr.LcFirst(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `Goframe is Very Nice to use.` - rsStr = gstr.LcFirst(str) - ) - fmt.Println(rsStr) - } - - // Output: - // goframe - // goframe is Very Nice to use. -} - -func ExampleLenRune() { - { - var ( - str = `goframe is Very Nice to use` - rsStr = gstr.LenRune(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `123 4567 890` - rsStr = gstr.LenRune(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `Goframe是一个非常好用的Go语言框架!` - rsStr = gstr.LenRune(str) - ) - fmt.Println(rsStr) - } - - // Output: - // 27 - // 12 - // 22 -} - -func ExampleLevenshtein() { - { - var ( - str1 = "Hello World" - str2 = "ello World" - costIns = 1 - costRep = 1 - costDel = 1 - rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - ) - - fmt.Println(rsStr) - } - - { - var ( - str1 = "Hello World" - str2 = "ello Worles" - costIns = 10 - costRep = 20 - costDel = 30 - rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel) - ) - fmt.Println(rsStr) - } - - // Output: - // 1 - // 60 -} - -func ExampleNl2Br() { - var ( - str = `goframe -is -Very -Nice -to -use` - rsStr = gstr.Nl2Br(str) - ) - - fmt.Println(rsStr) - - // Output: - // goframe
is
Very
Nice
to
use -} - -func ExampleNumberFormat() { - - { - var ( - number float64 = 123456 - decimals = 2 - decPoint = "." - thousandsSep = "," - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - ) - fmt.Println(rsStr) - } - - { - var ( - number = 1234.56 - decimals = 1 - decPoint = "," - thousandsSep = " " - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - ) - fmt.Println(rsStr) - } - - { - var ( - number = 1234.5678 - decimals = 3 - decPoint = "." - thousandsSep = "," - rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep) - ) - fmt.Println(rsStr) - } - - // Output: - // 123,456.00 - // 1 234,6 - // 1,234.568 -} - -func ExampleOctStr() { - var ( - str = `\346\200\241` - rsStr = gstr.OctStr(str) - ) - fmt.Println(rsStr) - - // Output: - // 怡 -} - -// '103' is the 'g' in ASCII -func ExampleOrd() { - var ( - str = `goframe` - rsStr = gstr.Ord(str) - ) - - fmt.Println(rsStr) - - // Output: - // 103 - -} - -func ExampleParse() { - { - var ( - str = `v1=m&v2=n` - rsStr, _ = gstr.Parse(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `v[a][a]=m&v[a][b]=n` - rsStr, _ = gstr.Parse(str) - ) - fmt.Println(rsStr) - } - - { - // The form of nested Slice is not yet supported. - var str = `v[][]=m&v[][]=n` - rsStr, err := gstr.Parse(str) - if err != nil { - panic(err) - } - fmt.Println(rsStr) - } - - { - // This will produce an error. - var str = `v=m&v[a]=n` - rsStr, err := gstr.Parse(str) - if err != nil { - println(err) - } - fmt.Println(rsStr) - } - - { - var ( - str = `a .[[b=c` - rsStr, _ = gstr.Parse(str) - ) - fmt.Println(rsStr) - } - - // May Output: - // map[v1:m v2:n] - // map[v:map[a:map[a:m b:n]]] - // map[v:map[]] - // Error: expected type 'map[string]interface{}' for key 'v', but got 'string' - // map[] - // map[a___[b:c] -} - -func ExamplePos() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.Pos(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 16 - rsStr = gstr.Pos(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 17 - rsStr = gstr.Pos(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `nice` - rsStr = gstr.Pos(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExamplePosI() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosI(haystack, needle) - ) - - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 16 - rsStr = gstr.PosI(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 17 - rsStr = gstr.PosI(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `nice` - rsStr = gstr.PosI(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 16 - // -1 - // 16 -} - -func ExamplePosIRune() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosIRune(haystack, needle) - ) - - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架.` - needle = `Nice` - startOffset = 16 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架.` - needle = `Nice` - startOffset = 17 - rsStr = gstr.PosIRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架.` - needle = `nice` - rsStr = gstr.PosIRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // -1 - // -1 - // -1 -} - -func ExamplePosR() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosR(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 16 - rsStr = gstr.PosR(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 17 - rsStr = gstr.PosR(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `nice` - rsStr = gstr.PosR(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 16 - // -1 - // -1 -} - -func ExamplePosRI() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosRI(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 16 - rsStr = gstr.PosRI(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 17 - rsStr = gstr.PosRI(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `nice` - rsStr = gstr.PosRI(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 16 - // -1 - // 16 - -} - -func ExamplePosRIRune() { - { - var ( - haystack = `Goframe是个非常好用的框架` - needle = `好用` - rsStr = gstr.PosRIRune(haystack, needle) - ) - - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架` - needle = `框架` - startOffset = 16 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架` - needle = `golang` - startOffset = 17 - rsStr = gstr.PosRIRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是个非常好用的框架` - needle = `goframe` - rsStr = gstr.PosRIRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 11 - // 14 - // -1 - // 0 -} - -func ExamplePosRRune() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosRRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - startOffset = 16 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是中国开发者的福利.` - needle = `Nice` - startOffset = 17 - rsStr = gstr.PosRRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `Goframe是中国开发者的福利.` - needle = `开发者` - rsStr = gstr.PosRRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 16 - // -1 - // 10 -} - -func ExamplePosRune() { - { - var ( - haystack = `goframe_is Very Nice.to-use` - needle = `Nice` - rsStr = gstr.PosRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `我喜欢Goframe框架` - needle = `框架` - startOffset = 16 - rsStr = gstr.PosRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `我喜欢Goframe框架` - needle = `框架` - startOffset = 17 - rsStr = gstr.PosRune(haystack, needle, startOffset) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `我喜欢Goframe框架` - needle = `goframe` - rsStr = gstr.PosRune(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // 16 - // 10 - // -1 - // -1 -} - -func ExampleQuoteMeta() { - { - var ( - str = `.\+?[^]()` - rsStr = gstr.QuoteMeta(str) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `https://goframe.org/pages/viewpage.action?pageId=1114327` - rsStr = gstr.QuoteMeta(str) - ) - fmt.Println(rsStr) - } - - // Output: - // \.\\\+\?\[\^\]\(\) - // https://goframe\.org/pages/viewpage\.action\?pageId=1114327 - -} - -func ExampleRepeat() { - var ( - input = `goframe ` - multiplier = 3 - rsStr = gstr.Repeat(input, multiplier) - ) - fmt.Println(rsStr) - - // Output: - // goframe goframe goframe -} - -func ExampleReplace() { - { - var ( - origin = `goframe_is_Very_Nice_to_use!` - search = `_` - replace = `+` - rsStr = gstr.Replace(origin, search, replace) - ) - fmt.Println(rsStr) - } - - { - var ( - origin = `goframe_is_Very_Nice_to_use!` - search = `_` - replace = `+` - count = 2 - rsStr = gstr.Replace(origin, search, replace, count) - ) - fmt.Println(rsStr) - } - - // Output: - // goframe+is+Very+Nice+to+use! - // goframe+is+Very_Nice_to_use! -} - -func ExampleReplaceByArray() { - { - var ( - origin = `Golang is Very Good` - array = []string{"o", "O"} - rsStr = gstr.ReplaceByArray(origin, array) - ) - fmt.Println(rsStr) - } - - { - var ( - origin = `Golang is Very Good` - array = []string{"Golang", "Goframe", "Good", "Nice"} - rsStr = gstr.ReplaceByArray(origin, array) - ) - fmt.Println(rsStr) - } - - // Output: - // GOlang is Very GOOd - // Goframe is Very Nice -} - -func ExampleReplaceByMap() { - { - var ( - origin = `Golang is Very Good` - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", - } - rsStr = gstr.ReplaceByMap(origin, replaces) - ) - fmt.Println(rsStr) - } - - { - var ( - origin = `Golang is Very Good` - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", - } - rsStr = gstr.ReplaceByMap(origin, replaces) - ) - fmt.Println(rsStr) - } - - // Output: - // Goframe is Very Nice - // Golang is Very Good -} - -func ExampleReplaceI() { - var ( - origin = `goframe is Very Nice to use` - search = `Goframe` - replace = `golang` - count = 3 - rsStr = gstr.ReplaceI(origin, search, replace, count) - ) - fmt.Println(rsStr) - - // Output: - // golang is Very Nice to use -} - -func ExampleReplaceIByArray() { - var ( - origin = `golang is very nice` - array = []string{"Golang", "GoFrame", "Nice", "GOOD"} - rsStr = gstr.ReplaceIByArray(origin, array) - ) - - fmt.Println(rsStr) - - // Output: - // GoFrame is very GOOD -} - -func ExampleReplaceIByMap() { - { - var ( - origin = `Golang is Very Good` - replaces = map[string]string{ - "Golang": "Goframe", - "Good": "Nice", - } - rsStr = gstr.ReplaceIByMap(origin, replaces) - ) - fmt.Println(rsStr) - } - - { - var ( - origin = `Golang is Very Good` - replaces = map[string]string{ - "golang": "Goframe", - "good": "Nice", - } - rsStr = gstr.ReplaceIByMap(origin, replaces) - ) - fmt.Println(rsStr) - } - - // Output: - // Goframe is Very Nice - // Goframe is Very Nice -} - -func ExampleReverse() { - var ( - str = `123456` - rsStr = gstr.Reverse(str) - ) - fmt.Println(rsStr) - - // Output: - // 654321 -} - -func ExampleSearchArray() { - { - var ( - a = []string{"goframe", "is", "Very", "Nice"} - s = `goframe` - rsStr = gstr.SearchArray(a, s) - ) - fmt.Println(rsStr) - } - - { - var ( - a = []string{"goframe", "is", "Very", "Nice"} - s = `Very` - rsStr = gstr.SearchArray(a, s) - ) - fmt.Println(rsStr) - } - - { - var ( - a = []string{"goframe", "is", "Very", "Nice"} - s = `use` - rsStr = gstr.SearchArray(a, s) - ) - fmt.Println(rsStr) - } - - // Output: - // 0 - // 2 - // -1 -} - -func ExampleShuffle() { - var ( - str = `abcdefg` - rsStr = gstr.Shuffle(str) - ) - fmt.Println(rsStr) - - // May Output: - // efcgbda -} - -func ExampleSimilarText() { - { - var ( - percent *float64 - first = `goframe_is` - second = `go-nice` - rsStr = gstr.SimilarText(first, second, percent) - ) - fmt.Println(rsStr) - } - - { - var ( - first = `AaBbCcDd` - second = `ad` - ) - p := 0.80 - rsStr := gstr.SimilarText(first, second, &p) - fmt.Println(rsStr) - } - - // Output: - // 3 - // 2 -} - -func ExampleSoundex() { - { - var ( - str = `Euler` - str2 = `Ellery` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - ) - fmt.Println(rsStr, rsStr2) - } - - { - var ( - str = `Gauss` - str2 = `Ghosh` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - ) - fmt.Println(rsStr, rsStr2) - } - - { - var ( - str = `Lloyd` - str2 = `Ladd` - rsStr = gstr.Soundex(str) - rsStr2 = gstr.Soundex(str2) - ) - fmt.Println(rsStr, rsStr2) - } - - // Output: - // E406 E406 - // G020 G020 - // L030 L030 -} - -func ExampleSplit() { - var ( - str = `GoFrame_Nice` - delimiter = `_` - rsStr = gstr.Split(str, delimiter) - ) - fmt.Printf(`%#v`, rsStr) - - // Output: - // []string{"GoFrame", "Nice"} -} - -func ExampleSplitAndTrim() { - var ( - str = ` goframe, is, Very ,Nice ,to, use` - delimiter = `,` - characterMask = ` ` - rsStr = gstr.SplitAndTrim(str, delimiter, characterMask) - ) - fmt.Printf("%#v", rsStr) - - // Output: - // []string{"goframe", "is", "Very", "Nice", "to", "use"} -} - -func ExampleStr() { - var ( - haystack = `xxx.jpg` - needle = `.` - rsStr = gstr.Str(haystack, needle) - ) - fmt.Println(rsStr) - - // Output: - // .jpg -} - -func ExampleStrEx() { - var ( - haystack = `https://goframe.org/index.html?a=1&b=2` - needle = `?` - rsStr = gstr.StrEx(haystack, needle) - ) - fmt.Println(rsStr) - - // Output: - // a=1&b=2 -} - -func ExampleStrLimit() { - { - var ( - str = `1234567890.png` - length = 4 - suffix = `.jpg` - rsStr = gstr.StrLimit(str, length, suffix) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `123456789` - length = 3 - suffix = `...` - rsStr = gstr.StrLimit(str, length, suffix) - ) - fmt.Println(rsStr) - } - - // Output: - // 1234.jpg - // 123... -} - -func ExampleStrLimitRune() { - { - var ( - str = `123456789` - length = 5 - suffix = "ABCD" - rsStr = gstr.StrLimitRune(str, length, suffix) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `goframe是一个好用的框架她提供了非常丰富的工具给使用者.` - length = 15 - suffix = "!" - rsStr = gstr.StrLimitRune(str, length, suffix) - ) - fmt.Println(rsStr) - } - - // Output: - // 12345ABCD - // goframe是一个好用的框架! -} - -func ExampleStrTill() { - { - var ( - haystack = `goframe是一个好用的框架,她提供了非常丰富的工具给使用者.` - needle = `,` - rsStr = gstr.StrTill(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `https://goframe.org/index.html?test=123456` - needle = `?` - rsStr = gstr.StrTill(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // goframe是一个好用的框架, - // https://goframe.org/index.html? -} - -func ExampleStrTillEx() { - { - var ( - haystack = `xxxx.txt` - needle = `.txt` - rsStr = gstr.StrTillEx(haystack, needle) - ) - fmt.Println(rsStr) - } - - { - var ( - haystack = `文件名.zip` - needle = `.zip` - rsStr = gstr.StrTillEx(haystack, needle) - ) - fmt.Println(rsStr) - } - - // Output: - // xxxx - // 文件名 -} - -func ExampleStripSlashes() { - var ( - str = `C:\\windows\\GoFrame\\test` - rsStr = gstr.StripSlashes(str) - ) - fmt.Println(rsStr) - - // Output: - // C:\windows\GoFrame\test -} - -func ExampleSubStr() { - { - var ( - str = `123456789` - start = 0 - length = 2 - subStr = gstr.SubStr(str, start, length) - ) - fmt.Println(subStr) - } - - { - var ( - str = `123456789` - start = 5 - length = 3 - subStr = gstr.SubStr(str, start, length) - ) - fmt.Println(subStr) - } - - // Output: - // 12 - // 678 -} - -func ExampleSubStrRune() { - { - var ( - str = `123456789` - start = 5 - length = 4 - subStr = gstr.SubStrRune(str, start, length) - ) - fmt.Println(subStr) - } - { - var ( - str = `一二三四五六七八九零` - start = 5 - length = 4 - subStr = gstr.SubStrRune(str, start, length) - ) - fmt.Println(subStr) - } - // Output: - // 6789 - // 六七八九 -} - -func ExampleToLower() { - var ( - s = `GOFRAME IS VERY NICE TO USE` - rsStr = gstr.ToLower(s) - ) - fmt.Println(rsStr) - - // Output: - // goframe is very nice to use -} - -func ExampleToUpper() { - var ( - s = `goframe is very nice to use` - rsStr = gstr.ToUpper(s) - ) - fmt.Println(rsStr) - - // Output: - // GOFRAME IS VERY NICE TO USE -} - -func ExampleTrim() { - var ( - str = `.abc.def..` - characterMask = "." - rsStr = gstr.Trim(str, characterMask) - ) - fmt.Println(rsStr) - - // Output: - // abc.def -} - -func ExampleTrimAll() { - var ( - str = `.abc.def...` - characterMask = "." - rsStr = gstr.TrimAll(str, characterMask) - ) - fmt.Println(rsStr) - - // Output: - // abcdef -} - -func ExampleTrimLeft() { - var ( - str = `..abc.def.. ` - characterMask = "." - rsStr = gstr.TrimLeft(str, characterMask) - ) - fmt.Println(rsStr) - - // Output: - // abc.def.. -} - -func ExampleTrimLeftStr() { - var ( - str = `...abcd..efg...` - cut = "." - count = 2 - rsStr = gstr.TrimLeftStr(str, cut, count) - ) - fmt.Println(rsStr) - - // Output: - // .abcd..efg... -} - -func ExampleTrimRight() { - var ( - str = `abcdef ` - characterMask = "def" // []byte{"d", "e", "f"} - rsStr = gstr.TrimRight(str, characterMask) - ) - fmt.Println(rsStr) - - // Output: - // abc -} - -func ExampleTrimRightStr() { - { - var ( - str = `aaa,bbb,ccc,ddd,eee,` - cut = "," - count = 1 - rsStr = gstr.TrimRightStr(str, cut, count) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `aaa,bbb,ccc,ddd,eee,,,,,` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `aaa,bbb,ccc,ddd,eee,,,,, ` - cut = "," - count = -1 - rsStr = gstr.TrimRightStr(str, cut, count) - ) - fmt.Println(rsStr) - } - - // Output: - // aaa,bbb,ccc,ddd,eee - // aaa,bbb,ccc,ddd,eee - // aaa,bbb,ccc,ddd,eee,,,,, -} - -func ExampleTrimStr() { - { - var ( - str = `goframe is Very Nice to-use` - cut = "goframe" - rsStr = gstr.TrimStr(str, cut) - ) - fmt.Println(rsStr) - } - { - var ( - str = `goframe is Very Nice to-use` - cut = "use" - count = -1 - rsStr = gstr.TrimStr(str, cut, count) - ) - fmt.Println(rsStr) - } - - // Output: - // is Very Nice to-use - // goframe is Very Nice to- -} - -func ExampleUcFirst() { - var ( - s = `goframe is very nice to use.` - rsStr = gstr.UcFirst(s) - ) - fmt.Println(rsStr) - - // Output: - // Goframe is very nice to use. -} - -func ExampleUcWords() { - var ( - str = `goframe is very nice to use.` - rsStr = gstr.UcWords(str) - ) - fmt.Println(rsStr) - - // Output: - // Goframe Is Very Nice To Use. -} - -func ExampleWordWrap() { - { - var ( - str = `A very long woooooooooooooooooord. and something` - width = 8 - br = "\n" - rsStr = gstr.WordWrap(str, width, br) - ) - fmt.Println(rsStr) - } - - { - var ( - str = `The quick brown fox jumped over the lazy dog.` - width = 20 - br = "
\n" - rsStr = gstr.WordWrap(str, width, br) - ) - fmt.Printf("%v", rsStr) - } - - // Output: - // A very - // long - // woooooooooooooooooord. - // and - // something - // The quick brown fox
- // jumped over the lazy
- // dog. -} From e586e4d1092c7558f1d64095f31580515c9fd2ec Mon Sep 17 00:00:00 2001 From: iamyl <57165465@qq.com> Date: Thu, 18 Nov 2021 08:59:51 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit