開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) (Alan A.A. Donovan(著)、Brian W. Kernighan(著)、柴田 芳樹(翻訳)、丸善出版)の第4章(コンポジット型)、4.2(スライス)、4.2.2(スライス内での技法)、練習問題4.7の解答を求めてみる。
コード
package main import ( "fmt" "unicode/utf8" ) func main() { bss := [][]byte{ []byte(""), []byte("a"), []byte("ab"), []byte("abc"), []byte("日本語"), []byte("日a本b語c"), } for _, bs := range bss { fmt.Printf("%q\n", bs) fmt.Printf("%q\n\n", reverse(bs)) } } func reverse(bs []byte) []byte { out := bs[:0] rs := []rune(string(bs)) n := utf8.RuneCountInString(string(bs)) for i := 0; i < n; i++ { for _, b := range []byte(string(rs[n-i-1])) { out = append(out, b) } } return out }
入出力結果(cmd(コマンドプロンプト)、Terminal)
C:\Users\...>go run sample7.go "" "" "a" "a" "ab" "ba" "abc" "cba" "日本語" "語本日" "日a本b語c" "c語b本a日" C:\Users\...>
0 コメント:
コメントを投稿