2020年4月27日月曜日

開発環境

入門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 コメント:

コメントを投稿