더북(TheBook)

7.3.1 문자열 다루기

strings 패키지는 문자열을 다룰 때 자주 사용하는 기본 기능들을 제공한다.

문자열 내에서 substring을 찾거나 치환

문자열 하나를 여러 개로 분리하거나, 문자열 여러 개를 하나로 연결

문자열 내에 특정 키워드가 몇 번 포함되어 있는지 카운트

다양한 형태로 대소문자 변경

공백 제거

bytes 패키지를 사용하면 []byte 값에도 strings 패키지가 제공하는 기능과 유사한 작업을 할 수 있다.

strconv 패키지를 사용하면 문자열을 다른 기본 타입으로 변환하거나 다른 타입을 문자열로 변환할 수 있다.

fmt 패키지를 사용하면 문자열을 출력하거나 읽는 작업을 쉽게 할 수 있다.

unicode 패키지를 사용하면 특정 문자의 속성을 확인할 때 유용하다. 이를테면 특정 문자가 공백인지, 화면에 출력 가능한 문자인지, 숫자인지 등을 쉽게 확인할 수 있다. unicode/utf8unicode/utf16 패키지로는 유니코드 포인트 값을 디코딩 또는 인코딩할 수 있다.

text/templatehtml/template 패키지로는 가변 데이터를 기반으로 텍스트 아웃풋(예를 들면 HTML)을 생성하는 템플릿을 만들 수 있다. text/template 패키지를 사용한 예제를 살펴보자.


type Subject struct {
    Name string
    Score int
}
subjects := []Subject{{“English”, 86}, {“Math”, 92}, {“Science”, 83}}
subjectTable := template.New(“subjectTable”)
subjectTable.Parse(
    `<TABLE>` +
        `{{range .}}` +
        `{{printf “<TR><TD>%s</TD><TD>%d</TD></TR>” .Name .Score}}` + `{{end}}` +
        `</TABLE>`)
subjectTable.Execute(os.Stdout, subjects)

실행 결과

<TABLE>

<TR><TD>English</TD><TD>86</TD></TR>

<TR><TD>Math</TD><TD>92</TD></TR>

<TR><TD>Science</TD><TD>83</TD></TR>

</TABLE>

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