반응형
Golang 어디에서 문자를 인덱싱하는 방법은 무엇입니까?
69가 아닌 "E"출력을 얻는 방법은 무엇입니까?
package main
import "fmt"
func main() {
fmt.Print("HELLO"[1])
}
Golang에는 문자를 바이트로 또는 그 변환하는 기능이 있습니까?
해석 된 인코딩 리터럴은 문자의 UTF-8 인코딩 (멀티 바이트)을 사용하는 큰 따옴표 ""사이의 문자 시퀀스입니다. UTF-8에서 ASCII 문자는 처음 128 개의 유니 코드 문자에 해당하는 1 바이트입니다. 작은 바이트 조각처럼 작동합니다. 룬은 유니 코드 코드 포인트를 포착하는 정수 값입니다. 따라서
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])
Peter가 지적했듯이 ASCII 이상을 허용 비용 :
fmt.Printf("%c", []rune("HELLO")[1])
Go에는 실제로 문자 유형이 없습니다. 사용하는 둘 다 정수 유형 (uint8 및 int32)의 일뿐입니다. 따라서 숫자 대신 문자로 인쇄 할 수 Printf("%c", x)
있습니다. %c
형식 스펙은 임의의 정수 유형에 대한 작동합니다.
슬라이싱을 통해서도 가능합니다.
package main
import "fmt"
func main() {
fmt.Print("HELLO"[1:2])
}
char을 공유로 해석하는 일반적인 솔루션은 string("HELLO"[1])
.
물론 Rich의 솔루션도 작동합니다.
SDK로 형변환을 시도 할 수도 있습니다.
package main
import "fmt"
func main() {
fmt.Println(string("Hello"[1]))
}
색인으로 문자를 얻으려면 시도하십시오.
package main
import (
"fmt"
"strings"
)
func main() {
str := strings.Split("HELLO","")
fmt.Print(str[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]))
// = 주석 처리 된 줄
참고 URL : https://stackoverflow.com/questions/15018545/how-to-index-characters-in-a-golang-string
반응형
'ProgramingTip' 카테고리의 다른 글
T-SQL에 노드를 연결하는 존재 함수가 있습니까? (0) | 2020.10.26 |
---|---|
"JPEG 파일이 아닙니다 : 0x89 0x50으로 시작"오류가 발생하는 이유 (0) | 2020.10.26 |
Ruby의 커널 클래스에 assert () 메소드를 추가하는 것이 관용적 인 Ruby입니까? (0) | 2020.10.26 |
Uri.Host와 Uri.Authority의 차이점은 무엇입니까? (0) | 2020.10.26 |
C에서 / dev / random 또는 urandom을 사용하는 방법은 무엇입니까? (0) | 2020.10.26 |