골랑 문자열에 있는 문자를 색인하는 방법은?
69가 아닌 "E" 출력을 얻는 방법은?
package main
import "fmt"
func main() {
fmt.Print("HELLO"[1])
}
골랑은 문자를 바이트로 변환하는 기능이 있습니까?
해석된 문자열 리터럴은 개별 문자의 UTF-8 인코딩을 사용하는 큰따옴표 " 사이의 문자 시퀀스입니다.UTF-8에서 ASCII 문자는 처음 128개의 유니코드 문자에 해당하는 단일 바이트입니다.문자열은 바이트 단위로 동작합니다.룬은 유니코드 코드 포인트를 식별하는 정수 값입니다.그러므로,
package main
import "fmt"
func main() {
fmt.Println(string("Hello"[1])) // ASCII only
fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
fmt.Println(string([]rune("Hello, 世界")[8])) // UTF-8
}
출력:
e
e
界
읽기:
변환에 대한 프로그래밍 언어 사양 섹션으로 이동합니다.
이거 어때요?
fmt.Printf("%c","HELLO"[1])
피터가 지적한 것처럼, ASC 이상을 허용하는 것은II:
fmt.Printf("%c", []rune("HELLO")[1])
슬라이싱을 통해서도 가능합니다.
package main
import "fmt"
func main() {
fmt.Print("HELLO"[1:2])
}
참고: 이 솔루션은 ASCII 문자에만 적용됩니다.
문자열로 타이프 캐스트를 해볼 수도 있습니다.
package main
import "fmt"
func main() {
fmt.Println(string("Hello"[1]))
}
Go에는 이런 문자 유형이 없습니다. 바이트는 종종 ASCII 문자에 사용되고 룬은 유니코드 문자에 사용되지만 둘 다 정수 유형(uint8 및 int32)에 대한 별칭일 뿐입니다.따라서 숫자 대신 문자로 인쇄하도록 강제하려면 다음을 사용해야 합니다.Printf("%c", x)
.그%c
형식 규격은 모든 정수 형식에 적용됩니다.
문자를 문자열로 해석하는 일반적인 해결책은string("HELLO"[1])
.
물론 리치의 해결책도 효과가 있습니다.
색인별로 문자를 가져오려면 이 방법을 사용합니다.
package main
import (
"fmt"
"strings"
)
func main() {
str := strings.Split("HELLO","")
fmt.Print(str[1])
}
문자열 문자는 룬이므로 인쇄하려면 문자열로 다시 변환해야 합니다.
fmt.Print(string("HELLO"[1]))
문자열에서 문자를 분리하는 또 다른 솔루션
package main
import "fmt"
func main() {
var word string = "ZbjTS"
// P R I N T
fmt.Println(word)
yo := string([]rune(word)[0])
fmt.Println(yo)
//I N D E X
x :=0
for x < len(word){
yo := string([]rune(word)[x])
fmt.Println(yo)
x+=1
}
}
문자열 배열의 경우에도:
fmt.Println(string([]rune(sArray[0])[0]))
// = 주석줄
해결책은 다음과 같습니다.
package main
import "fmt"
func main() {
str := "HELLO"
string(str[0])//H
string(str[1])//E
string(str[2])//L
string(str[3])//L
string(str[4])//O
}
언급URL : https://stackoverflow.com/questions/15018545/how-to-index-characters-in-a-golang-string
'IT' 카테고리의 다른 글
엔티티 프레임워크에서 네임스페이스 변경 (0) | 2023.10.25 |
---|---|
"SELECT FROM" 쿼리를 Node.js의 Mariadb에 보냅니다. (0) | 2023.10.25 |
클로저스크립트에서 아약스 호출 구현 (0) | 2023.10.25 |
Chrome이 오리진 헤더를 동일 오리진 요청에 추가함 (0) | 2023.10.25 |
Apache가 MariaDB(PERL)와 함께 cnf 파일을 읽거나 사용하지 않음 (0) | 2023.10.25 |