더북(TheBook)

3.3 문자열

문자열(string)은 큰따옴표(")나 백쿼트(` )로 생성한다. 보통은 큰따옴표로 생성한다. 백쿼트로 생성하면 이스케이프 문자와 줄 바꿈을 무시한다. 그래서 HTML이나 XML처럼 문자열을 여러 줄로 작성하거나 정규표현식을 작성할 때 유용하게 사용할 수 있다.

floatExp := `^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$`

headerHtml := `

<nav class="navbar navbar-fixed-top">

    <div class="nav-box">

        <div class="left">

            <a href="" class="nav-icon-btn"><span class="nav-icon"><i class="icn-back-nav">back</i></span></a>

        </div>

        <div class="center">

             LIST

        </div>

    </div>

</nav>`

다음 두 문자열은 같다.

path1 := "c:\\workspace\\go\\src\\"
path2 := `c:\workspace\go\src\`

표 3-8에 문자나 문자열에서 사용하는 이스케이프를 정리했다.

표 3-8 문자나 문자열에서 사용하는 이스케이프

이스케이프

설명

\\

역슬래시(\)

\‘

작은따옴표(‘), 문자 리터럴에만 사용 가능

\“

큰따옴표(“), 문자열 리터럴에만 사용 가능

\a

벨(ASCII 코드 7, BEL), 콘솔의 벨을 울림

\b

백스페이스(ASCII 코드 8, BS)

\f

쪽 바꿈(ASCII 코드 12, FF)

\n

줄 바꿈(ASCII 코드 10, LF)

\r

복귀(ASCII 코드 13, CR)

\t

탭(ASCII 코드 9, TAB)

\v

수직 탭(ASCII 코드 11, VT)

\xhh

유니코드 문자, 16진수 코드 포인트를 2자리로 표현

\ooo

유니코드 문자, 8진수 코드 포인트를 3자리로 표현

\uhhhh

유니코드 문자, 16진수 코드 포인트를 4자리로 표현

\Uhhhhhhhh

유니코드 문자, 16진수 코드 포인트를 8자리로 표현

다음은 자주 사용하는 문자열 관련 함수이다.

표 3-9 자주 사용하는 문자열 관련 함수

함수

설명

len(s)

문자열 s의 바이트 수

len([]rune(s))

문자열 s의 문자 수

utf8.RuneCountInString(s)

문자열 s의 문자 수

strconv.Atoi(s)

문자열 s를 정수(int) 타입으로 변환

strconv.Itoa(i)

정수 i를 문자열로 변환

fmt.Sprint(x …)

x 값의 출력 문자열( x 가 숫자 1일 때 “1”을 반환)

fmt.Sprintf(format,x …)

x 값의 서식이 지정된 출력 문자열

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.