2018年8月16日木曜日

開発環境

  • macOS High Sierra - Apple (OS)
  • Emacs (Text Editor)
  • Go (プログラミング言語)

Introducing Go: Build Reliable, Scalable Programs (Caleb Doxsey (著)、O'Reilly Media)のChapter 6.(Functions)、Exercises(No. 1105)4.を取り組んでみる。

コード(Emacs)

package main

import "fmt"

func makeOddGenerator() func() uint {
 i := uint(1)
 return func() (ret uint) {
  ret = i
  i += 2
  return
 }
}
func makeOddGenerator1() func() uint {
 i := uint(1)
 return func() uint {
  t := i
  i += 2
  return t
 }
}
func main() {
 nextOdd := makeOddGenerator()
 for i := 0; i < 10; i += 1 {
  fmt.Println(nextOdd())
 }
 nextOdd1 := makeOddGenerator1()
 for i := 0; i < 10; i += 1 {
  fmt.Println(nextOdd1())
 }
}

入出力結果(Terminal)

$ go run sample4.go
1
3
5
7
9
11
13
15
17
19
1
3
5
7
9
11
13
15
17
19
$

0 コメント:

コメントを投稿