【发布时间】:2019-01-15 18:39:39
【问题描述】:
我有一个名为“seeder”的包:
package seeder
import "fmt"
func MyFunc1() {
fmt.Println("I am Masood")
}
func MyFunc2() {
fmt.Println("I am a programmer")
}
func MyFunc3() {
fmt.Println("I want to buy a car")
}
现在我想调用所有带有 MyFunc 前缀的函数
package main
import "./seeder"
func main() {
for k := 1; k <= 3; k++ {
seeder.MyFunc1() // This calls MyFunc1 three times
}
}
我想要这样的东西:
for k := 1; k <= 3; k++ {
seeder.MyFunc + k ()
}
这个输出:
I am Masood I am a programmer I want to buy a car
EDIT1: 在这个例子中,parentKey 是一个在循环中改变的字符串变量
for parentKey, _ := range uRLSjson{
pppp := seeder + "." + strings.ToUpper(parentKey)
gorilla.HandleFunc("/", pppp).Name(parentKey)
}
但是GC说:
使用没有选择器的包播种器
【问题讨论】:
-
嗨,马苏德。在您的子函数中,您不是说 Hello World 文本与函数不是全部 MyFunc1 匹配吗?:即 func MyFunc2() { fmt.Println("Hello MyFunc2") }
-
好的,我看到你已经解决了这个问题。
-
您好,我的意思是调用带有特殊前缀的函数。让我们将 fmt 输出更改为更清晰