4-1강: 문자열의 길이 구하기
Go 언어에서는 문자열의 길이를 구할수 있는 함수들을 제공하고 있습니다.
먼저 len함수를 사용하여 문자열의 길이를 구할수 있습니다.
package main import "fmt" func main(){ var s1 string="Hello" //변수 선언 var s2 string="한글" fmt.Println(len(s1)) //s1의 길이 출력 fmt.Println(len(s2)) //s2의 길이 출력 }
이를 실행하면 5와 6이 차례로 출력됩니다.
그러면 이러한 궁금증이 생길것입니다.
"왜 s2는 두글자인데 왜 6이 출력되지?"
한글을 유니코드로 저장하면 0xed, 0x95, 0x9c, 0xea, 0xb8, 0x80이기 때문입니다. 그래서 한국어, 중국어, 일본어등 유니코드로 저장했을때 2바이트가 넘으면 unicode/utf8이라는 패키지의 함수를 사용하면 됩니다.
package main import ("fmt" "unicode/utf8") func main(){ var s1 string="한글" //변수 선언 fmt.Println(utf8.RuneCountInString(s1)) //s1의 길이 출력 }
이를 실행하면 2가 출력됩니다.
이처럼 고언어에서는 unicode/utf8와 우리가 자주 써왔던 fmt말고도 net/http,c,log,strconv등의 많은 패키지를 제공하며, 이 패키지들에는 utf8.RuneCountInString,fmt.Println같은 유용한 함수들을 제공합니다.