>  기사  >  백엔드 개발  >  Go 언어에서 문자열을 순회하는 방법

Go 언어에서 문자열을 순회하는 방법

青灯夜游
青灯夜游원래의
2023-01-13 15:57:105906검색

문자열 탐색 방법: 1. 탐색하려면 "for range" 문을 사용하세요. 구문은 "for key, value := range str {...}"입니다. 2. 탐색하려면 strings 패키지의 Map() 함수를 사용하세요. , 구문 "trings" .Map(func(rune), 원래 문자열)", 여기서 매개변수 "func(rune)"은 문자열의 각 문자를 처리하는 데 사용되는 콜백 함수입니다.

Go 언어에서 문자열을 순회하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.

Go 언어에서 문자열을 탐색하는 방법

방법 1: for range 문 사용

for range 구조는 Go 언어의 고유한 반복 구조이며 많은 상황에서 매우 유용합니다. Range는 배열, 슬라이스, 문자열, 맵 및 채널을 통과할 수 있습니다. for range의 구문은 다른 언어의 foreach 문과 유사합니다.

for key, val := range coll {
    ...
}

val은 항상 컬렉션의 해당 인덱스입니다. 값 복사이므로 일반적으로 읽기 전용이므로 수정 사항이 컬렉션의 원래 값에 영향을 미치지 않습니다. 문자열은 유니코드로 인코딩된 문자(또는 룬)의 모음이므로 문자열을 반복하는 데에도 사용할 수 있습니다.

for pos, char := range str {
    ...
}

각 룬 문자와 인덱스는 for range 루프에서 일대일 대응을 하며, UTF-8 규칙에 따라 유니코드로 인코딩된 문자를 자동으로 인식합니다.

다음 코드는 문자열을 순회하는 방법을 보여줍니다.

package main
import (
	"fmt"
)
func main() {
	var str = "hello 你好"
	for key, value := range str {
		fmt.Printf("key:%d value:0x%x\n", key, value)
	}
}

코드 출력은 다음과 같습니다.

Go 언어에서 문자열을 순회하는 방법

코드에서 변수 값의 실제 유형은 룬 유형이고, 16진수로 인쇄하는 것은 인코딩입니다. 캐릭터의.

방법 2: strings.Map() 함수 사용

개발 과정에서 Go 언어에서는 문자열의 각 문자를 적절하게 처리해야 하는 경우가 많습니다. 그런 기능.

func Map(mapping func(rune) rune, s string) string
Parameters Description
mapping 문자열의 각 문자에 대한 처리 기능입니다.
s 원래 문자열입니다.

반환 값:

  • 처리된 문자열을 반환합니다.

설명:

  • 문자열 s의 모든 문자를 매핑합니다. 매핑은 룬 유형 매개변수를 받아들이고 룬 유형 매개변수를 반환하는 익명 함수입니다.

예제 1: 문자열을 탐색하고 문자열의 각 문자를 뒤로 하나씩 이동합니다.

package main
import (
	"fmt"
	"strings"
)
func strEncry(r rune)rune{
	return r+1
}
func main() {
	//使用 strings.Map() 函数,实现将一个字符串中的每一个字符都后移一位
	strHaiCoder := "HaiCoder"
	mapStr := strings.Map(strEncry, strHaiCoder)
	fmt.Println("mapStr =", mapStr)
}

Go 언어에서 문자열을 순회하는 방법

분석:

  • 문자열 유형 변수 strHaicoder를 정의한 다음 문자열을 사용합니다. strings.Map () 함수는 strEncry 함수를 사용하여 문자열의 각 문자를 처리하고 print를 사용하여 최종 결과를 인쇄합니다.

  • strEncry 함수는 문자의 ASCII 코드에 1을 추가하는 기능, 즉 문자를 1비트 뒤로 이동하는 기능을 구현하므로 우리가 전달하는 문자열은 "HaiCoder"이며 이는 결국 "IbjDpefs"가 됩니다.

【관련 권장 사항: Go 비디오 튜토리얼, 프로그래밍 교육

위 내용은 Go 언어에서 문자열을 순회하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.