Go언어 입문하기

길이 구하기

Go언어에서 문자열의 길이를 구하는 방법

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같은 유용한 함수들을 제공합니다.

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기