for문에서_string_사용하기

[Go] string(문자열)을 for문으로 출력, 이용하기

  • Go로 문제를 풀 때, 문자열을 for문으로 돌려야 하는 경우가 자주 발생했다.

  • 파이썬같은 경우, 문자열을 다음과 같이 입력하면 문자열 그대로 출력된다.

1
2
for i in "CAT":
print(i) #print : C A T
  • Go도 문자열을 for문에 사용할 수는 있지만, 파이썬과 달리 Go는 인덱스와 포인터 값을 반환한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main

import "fmt"

func main() {
str := "CAT"
for _, r := range str {
c := string(r)
fmt.Println(c)
}
fmt.Println()
for i, r := range str {
fmt.Println(i, r, string(r))
}
}
  • 위의 코드를 실행시켜보면, 다음과 같이 출력된다.
    C
    A
    T

0 67 C
1 65 A
2 84 T

  • 위와같이, Go에서는 for문에서 문자열이 아닌 포인터값(int)을 반환한다.

  • 따라서 문자열을 이용하고 싶을 경우, 새로운 변수를 만들고 이에 string()함수를 통해 초기화 시켜주어야 한다.

    • 위의 예처럼, 반환받은 r값을 새로운 변수 c := string(r) 로 초기화 시켜서 사용.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×