「Go言語」関数を要素に持つスライスのサンプル

2022年1月25日

書式
var 変数名 = []func(int) string{
func(n int) string { 処理コード },
}

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package main
import "fmt"
func main() {
var cft = []func(int) string{
func(n int) string { return fmt.Sprintf("testA %d", n) },
func(n int) string { return fmt.Sprintf("testB %d", n) },
func(n int) string { return fmt.Sprintf("testC %d", n) },
func(n int) string { return fmt.Sprintf("testD %d", n) },
}
for i, h := range cft {
fmt.Println(h(i))
}
}
package main import "fmt" func main() { var cft = []func(int) string{ func(n int) string { return fmt.Sprintf("testA %d", n) }, func(n int) string { return fmt.Sprintf("testB %d", n) }, func(n int) string { return fmt.Sprintf("testC %d", n) }, func(n int) string { return fmt.Sprintf("testD %d", n) }, } for i, h := range cft { fmt.Println(h(i)) } }
package main

import "fmt"

func main() {
      var cft = []func(int) string{
            func(n int) string { return fmt.Sprintf("testA %d", n) },
            func(n int) string { return fmt.Sprintf("testB %d", n) },
            func(n int) string { return fmt.Sprintf("testC %d", n) },
        func(n int) string { return fmt.Sprintf("testD %d", n) },
      }

      for i, h := range cft {
            fmt.Println(h(i))
      }
}

実行結果
testA 0
testB 1
testC 2
testD 3

Go言語

Posted by arkgame