2020年1月14日火曜日

開発環境

入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 2(型)、LESSON 10(型変換)の練習問題の解答を求めてみる。

コード

package main

import "fmt"

func main() {
 s1 := "true"
 s2 := "yes"
 s3 := "0"
 s4 := "false"
 s5 := "no"
 s6 := "0"
 strSlice := []string{s1, s2, s3, s4, s5, s6}

 fmt.Println("if文")
 for _, s := range strSlice {
  fmt.Printf("「%v」: ", s)
  if s == "true" || s == "yes" {
   fmt.Println(true)
  } else if s == "false" || s == "no" {
   fmt.Println(false)
  } else if s == "0" {
   fmt.Println(true, false)
  } else {
   fmt.Println("エラー")
  }
 }
 fmt.Println("switch文")
 for _, s := range strSlice {
  fmt.Printf("「%v」: ", s)
  switch s {
  case "true", "yes":
   fmt.Println(true)
  case "false", "no":
   fmt.Println(false)
  case "0":
   fmt.Println(true, false)
  default:
   fmt.Println("エラー")
  }
 }
}

入出力結果(Zsh、PowerShell、Terminal)

% go run input.go
if文
「true」: true
「yes」: true
「0」: true false
「false」: false
「no」: false
「0」: true false
switch文
「true」: true
「yes」: true
「0」: true false
「false」: false
「no」: false
「0」: true false
%

0 コメント:

コメントを投稿