HOWTO · Go

GoLang 리버스 문자열

이 튜토리얼은 GoLang에서 문자열을 뒤집는 방법을 보여줍니다.

이 페이지의 내용

이 튜토리얼은 GoLang에서 문자열을 뒤집는 방법을 보여줍니다.

GoLang의 역 문자열

문자열을 뒤집는 것은 GoLang에서 쉬운 작업입니다. 주어진 문자열의 문자를 바꾸거나 빈 문자열을 만들고 끝에 주어진 문자열의 문자를 추가할 수 있습니다.

방법 1의 단계를 따릅니다.

  • 먼저 문자열을 받아들이고 결과 문자열을 반환하는 함수를 정의합니다.
  • 이제 주어진 문자열을 반복하고 결과 문자열 앞에 해당 문자를 추가합니다.
  • 반복이 완료되면 결과 문자열을 반환합니다.

위의 단계를 기반으로 예제를 구현해 보겠습니다.

코드 예:

package main
import "fmt"

func StringReverse(InputString string) (ResultString string) {
    // iterating and prepending
    for _, c := range InputString {
        ResultString = string(c) + ResultString
    }
    return
}

func main() {
    String1 := "Delftstack"
    fmt.Println("The result for", String1, "is: ", StringReverse(String1))
    String2 := "Delftsatck.com"
    fmt.Println("The result for", String2, "is: ", StringReverse(String2))
    String3 := "www.Delftsatck.com"
    fmt.Println("The result for", String3, "is: ", StringReverse(String3))
}

위의 코드는 주어진 문자열의 문자를 빈 문자열 앞에 추가하여 문자열을 뒤집습니다.

출력:

The result for Delftstack is:  kcatstfleD
The result for Delftsatck.com is:  moc.kctastfleD
The result for www.Delftsatck.com is:  moc.kctastfleD.www

이제 방법 2의 단계를 살펴보겠습니다.

  • 먼저 문자열을 수락하고 반환하는 함수를 정의합니다.
  • 주어진 문자열을 바이트 문자열로 변환합니다.
  • 바이트 문자열을 반복합니다.
  • 스와핑을 시작하고 바이트 문자열의 첫 번째 요소를 마지막 요소로 바꾸고 두 번째 요소를 마지막 요소로 바꾸고 요소가 남지 않을 때까지 작업을 반복합니다.
  • 바이트 문자열을 다시 문자열 유형으로 변환합니다.

위의 방법을 기반으로 한 예를 시도해 보겠습니다.

package main
import "fmt"

func StringReverse(InputString string) string {
    ByteString := []rune(InputString)
    for x, y := 0, len(ByteString)-1; x < y; x, y = x+1, y-1 {
        ByteString[x], ByteString[y] = ByteString[y], ByteString[x]
    }
    return string(ByteString)
}

func main() {
    String1 := "Delftstack"
    fmt.Println("The result for", String1, "is: ", StringReverse(String1))
    String2 := "Delftsatck.com"
    fmt.Println("The result for", String2, "is: ", StringReverse(String2))
    String3 := "www.Delftsatck.com"
    fmt.Println("The result for", String3, "is: ", StringReverse(String3))
}

위의 코드는 문자열을 바이트 문자열로 변환한 다음 반전시킵니다.

출력:

The result for Delftstack is:  kcatstfleD
The result for Delftsatck.com is:  moc.kctastfleD
The result for www.Delftsatck.com is:  moc.kctastfleD.www