2016-08-24 12 views
-1

온라인으로 게시 된 함수는 golang에 rune() 함수를 사용하여 왔지만, 나는 그것이 무엇인지를 찾는 데 어려움을 겪고 있습니다. 튜토리얼을 끝내고 문서와 경험이 없으므로 내가 찾는 것을 찾기가 어렵습니다.golang rune() 함수는 어떻게 작동합니까?

특히, 나는 ... 이것이 실패 이유를

fmt.Println(rune("foo")) 

을 시도하고 이것이되지

fmt.Println([]rune("foo")) 
+4

와 룬 슬라이스 '를 출력 rune'는 유형이 아닌 함수이다. – JimB

+0

그 코드는 유형 문자열에서 [run] 및 [] 룬을 입력하기 위해 [conversion] (https://golang.org/ref/spec#Conversions)을 수행하려고합니다. 룬은 유니 코드 코드 포인트입니다. 문자열을 단일 룬으로 변환 할 수는 없지만 두 번째 예와 같이 룬 문자로 변환 할 수 있습니다. – Michael

+0

룬 문자에 익숙해지면서 문자를 입력하십시오 – Sridhar

답변

5

rune하는 일은 이동의 유형입니다. int32의 별명 일 뿐이지 만 일반적으로 유니 코드 포인트를 나타내는 데 사용됩니다. rune()은 함수가 아니며, rune으로 타입 변환하기위한 구문입니다. Go의 변환은 항상 모양처럼 보이게하는 type() 구문을 갖습니다.

문자열에서 숫자 형식으로의 변환이 이동에 정의되어 있지 않으므로 첫 번째 코드 비트가 실패합니다. 룬/int32s 슬라이스에 문자열 그러나 변환 언어 사양이 다음과 같이 정의된다 : 룬 유형의 슬라이스를 문자열 형태의 값을 변환

문자열의 개별 유니 코드 코드 포인트를 포함하는 슬라이스 수득 .

그래서 예를 들면 값 (102), 111, 111

+0

정보를 찾은 링크를 포함하도록 게시물을 편집하십시오. – deltaskelta

관련 문제