문자열 탐색 방법: 1. 탐색하려면 "for range" 문을 사용하세요. 구문은 "for key, value := range str {...}"입니다. 2. 탐색하려면 strings 패키지의 Map() 함수를 사용하세요. , 구문 "trings" .Map(func(rune), 원래 문자열)", 여기서 매개변수 "func(rune)"은 문자열의 각 문자를 처리하는 데 사용되는 콜백 함수입니다.
이 튜토리얼의 운영 환경: 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) } }
코드 출력은 다음과 같습니다.
코드에서 변수 값의 실제 유형은 룬 유형이고, 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) }
분석:
문자열 유형 변수 strHaicoder를 정의한 다음 문자열을 사용합니다. strings.Map () 함수는 strEncry 함수를 사용하여 문자열의 각 문자를 처리하고 print를 사용하여 최종 결과를 인쇄합니다.
strEncry 함수는 문자의 ASCII 코드에 1을 추가하는 기능, 즉 문자를 1비트 뒤로 이동하는 기능을 구현하므로 우리가 전달하는 문자열은 "HaiCoder"이며 이는 결국 "IbjDpefs"가 됩니다.
【관련 권장 사항: Go 비디오 튜토리얼, 프로그래밍 교육】
위 내용은 Go 언어에서 문자열을 순회하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!