開発環境
- 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"
)
// 関数版
func terraform(planets []string) {
for i := range planets {
planets[i] = "New " + planets[i]
}
}
// Planets ...
// メソッド版
// 型の導入が必要
type Planets []string
func (planets Planets) terraform() {
for i := range planets {
planets[i] = "New " + planets[i]
}
}
func main() {
planets := []string{
"Mars",
"Uranus",
"Neptune",
}
planets1 := []string{
"Mars",
"Uranus",
"Neptune",
}
fmt.Println(planets)
terraform(planets)
fmt.Println(planets)
fmt.Println(strings.Join(planets, ", "))
fmt.Println(planets1)
Planets(planets1).terraform()
fmt.Println(planets1)
fmt.Println(strings.Join(planets1, ", "))
}
入出力結果(Zsh、PowerShell、Terminal)
% go run ./terraform.go
[Mars Uranus Neptune]
[New Mars New Uranus New Neptune]
New Mars, New Uranus, New Neptune
[Mars Uranus Neptune]
[New Mars New Uranus New Neptune]
New Mars, New Uranus, New Neptune
%
0 コメント:
コメントを投稿