From b6183dc61fadff751536195f10da478f37932a88 Mon Sep 17 00:00:00 2001 From: NanXiao Date: Thu, 21 Nov 2013 10:00:11 +0800 Subject: [PATCH] Add length check of the string --- ex-basics/src/string3.go | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/ex-basics/src/string3.go b/ex-basics/src/string3.go index 67f7a30..c24f3cf 100644 --- a/ex-basics/src/string3.go +++ b/ex-basics/src/string3.go @@ -1,13 +1,20 @@ -package main - -import ( - "fmt" -) - -func main() { - s := "Шла Саша по шоссе" - r := []rune(s) - copy(r[4:4+3], []rune("abc")) - fmt.Printf("Before: %s\n", s); - fmt.Printf("After : %s\n", string(r)) -} +package main + +import ( + "fmt" + "unicode/utf8" +) + +const minStrLen = 7 + +func main() { + s := "Шла Саша по шоссе" + r := []rune(s) + if utf8.RuneCount([]byte(s)) < minStrLen { + fmt.Printf("The length of string is shorter than %d\n", minStrLen) + return + } + copy(r[4:4+3], []rune("abc")) + fmt.Printf("Before: %s\n", s); + fmt.Printf("After : %s\n", string(r)) +}