開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 4(コレクション)、LESSON 17(スライス)の練習問題の解答を求めてみる。
コード
package main
import (
"fmt"
"strings"
)
// Planets ...
type Planets []string
func (planets Planets) transform() {
for i, planet := range planets {
planets[i] = "New " + planet
}
}
func terraform(planets []string) {
for i, planet := range planets {
planets[i] = "New " + planet
}
}
func main() {
fmt.Println("関数版")
planets := []string{
"Mercury", "venus", "earth", "mars", "Jupiter", "Saturn", "Uranus",
"Neptune",
}
fmt.Println(strings.Join(planets, "\n"))
terraform(planets)
fmt.Println(strings.Join(planets, "\n"))
fmt.Println("Planets型、メソッド版")
planets1 := []string{
"Mercury", "venus", "earth", "mars", "Jupiter", "Saturn", "Uranus",
"Neptune",
}
fmt.Println(strings.Join(planets1, "\n"))
Planets(planets1).transform()
fmt.Println(strings.Join(planets1, "\n"))
}
入出力結果(Zsh、PowerShell、Terminal)
% go run ./terraform.go
関数版
Mercury
venus
earth
mars
Jupiter
Saturn
Uranus
Neptune
New Mercury
New venus
New earth
New mars
New Jupiter
New Saturn
New Uranus
New Neptune
Planets型、メソッド版
Mercury
venus
earth
mars
Jupiter
Saturn
Uranus
Neptune
New Mercury
New venus
New earth
New mars
New Jupiter
New Saturn
New Uranus
New Neptune
%
0 コメント:
コメントを投稿