開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 2(型)、LESSON 9(多言語テキスト)の練習問題の解答を求めてみる。
コード
package main
import "fmt"
func rot13(message string) string {
rotated := ""
for _, c := range message {
if 'a' <= c && c <= 'z' {
c += 13
if c > 'z' {
c -= 26
}
} else if 'A' <= c && c <= 'Z' {
c += 13
if c > 'Z' {
c -= 26
}
}
rotated += string(c)
}
return rotated
}
func main() {
message := "Hola Estación Espacial Internacional"
fmt.Println(message)
encrypted := rot13(message)
fmt.Println("暗号化", encrypted)
decrypted := rot13(encrypted)
fmt.Println("複合化", decrypted)
fmt.Printf("%v\n%v\n%v\n", message, encrypted, decrypted)
}
入出力結果(Zsh、PowerShell、Terminal)
% go build international.go
% ./international
Hola Estación Espacial Internacional
暗号化 Ubyn Rfgnpvóa Rfcnpvny Vagreanpvbany
複合化 Hola Estación Espacial Internacional
Hola Estación Espacial Internacional
Ubyn Rfgnpvóa Rfcnpvny Vagreanpvbany
Hola Estación Espacial Internacional
%
0 コメント:
コメントを投稿