7.3.1 문자열 다루기
strings 패키지는 문자열을 다룰 때 자주 사용하는 기본 기능들을 제공한다.
• 문자열 내에서 substring을 찾거나 치환
• 문자열 하나를 여러 개로 분리하거나, 문자열 여러 개를 하나로 연결
• 문자열 내에 특정 키워드가 몇 번 포함되어 있는지 카운트
• 다양한 형태로 대소문자 변경
• 공백 제거
bytes 패키지를 사용하면 []byte 값에도 strings 패키지가 제공하는 기능과 유사한 작업을 할 수 있다.
strconv 패키지를 사용하면 문자열을 다른 기본 타입으로 변환하거나 다른 타입을 문자열로 변환할 수 있다.
fmt 패키지를 사용하면 문자열을 출력하거나 읽는 작업을 쉽게 할 수 있다.
unicode 패키지를 사용하면 특정 문자의 속성을 확인할 때 유용하다. 이를테면 특정 문자가 공백인지, 화면에 출력 가능한 문자인지, 숫자인지 등을 쉽게 확인할 수 있다. unicode/utf8과 unicode/utf16 패키지로는 유니코드 포인트 값을 디코딩 또는 인코딩할 수 있다.
text/template과 html/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>