Skip to content

Instantly share code, notes, and snippets.

@cwbak
Last active July 27, 2019 09:12
Show Gist options
  • Save cwbak/f2ce20b3cdc9ff3286ce0f6300f8a0c8 to your computer and use it in GitHub Desktop.
Save cwbak/f2ce20b3cdc9ff3286ce0f6300f8a0c8 to your computer and use it in GitHub Desktop.
// 특성 확인
// http://pyrasis.com/book/GoForTheReallyImpatient/Unit45
package main
import (
"fmt"
"unicode"
)
func main() {
fmt.Println(unicode.IsGraphic('1')) // true: 1은 화면에 표시되는 숫자이므로 true
fmt.Println(unicode.IsGraphic('a')) // true: a는 화면에 표시되는 문자이므로 true
fmt.Println(unicode.IsGraphic('한')) // true: '한'은 화면에 표시되는 문자이므로 true
fmt.Println(unicode.IsGraphic('漢')) // true: '漢'은 화면에 표시되는 문자이므로 true
fmt.Println(unicode.IsGraphic('\n')) // false: \n 화면에 표시되는 문자가 아니므로 false
fmt.Println(unicode.IsLetter('a')) // true: a는 문자이므로 true
fmt.Println(unicode.IsLetter('1')) // false: 1은 문자가 아니므로 false
fmt.Println(unicode.IsDigit('1')) // true: 1은 숫자이므로 true
fmt.Println(unicode.IsControl('\n')) // true: \n은 제어 문자이므로 true
fmt.Println(unicode.IsMark('\u17c9')) // true: \u17c9는 마크이므로 true
fmt.Println(unicode.IsPrint('1')) // true: 1은 Go 언어에서 표시할 수 있으므로 true
fmt.Println(unicode.IsPunct('.')) // true: .은 문장 부호이므로 true
fmt.Println(unicode.IsSpace(' ')) // true: ' '는 공백이므로 true
fmt.Println(unicode.IsSymbol('♥')) // true: ♥는 심볼이므로 true
fmt.Println(unicode.IsUpper('A')) // true: A는 대문자이므로 true
fmt.Println(unicode.IsLower('a')) // true: a는 소문자이므로 true
}
// 유니코드인지 확인
// http://pyrasis.com/book/GoForTheReallyImpatient/Unit45
package main
import (
"fmt"
"unicode"
)
func main() {
var r1 rune = '한'
fmt.Println(unicode.Is(unicode.Hangul, r1)) // true: r1은 한글이므로 true
fmt.Println(unicode.Is(unicode.Latin, r1)) // false: r1은 라틴 문자가
// 아니므로 false
var r2 rune = '漢'
fmt.Println(unicode.Is(unicode.Han, r2)) // true: r2는 한자이므로 true
fmt.Println(unicode.Is(unicode.Hangul, r2)) // false: r2는 한글이 아니므로 false
var r3 rune = 'a'
fmt.Println(unicode.Is(unicode.Latin, r3)) // true: r3은 라틴 문자이므로 true
fmt.Println(unicode.Is(unicode.Hangul, r3)) // false: r3은 한글이 아니므로 false
fmt.Println(unicode.In(r1, unicode.Latin, unicode.Han, unicode.Hangul)) // true: r1은 한글이므로 true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment