小编pko*_*uer的帖子

如何在Go中的切片中存储函数

我正在尝试将以下Python功能移植到Golang.特别是,如何在切片中存储函数然后调用它们.我怎么能在Golang中这样做?

class Dispatcher(object):
    def __init__(self):
        self._listeners = []

    def addlistener(self, listener):
        self._listeners.append(listener)

    def notifyupdate(self):
        for f in self._listeners:
            f()

def beeper():
    print "beep...beep...beep"

def pinger():
    print "ping...ping...ping"

dispatch = Dispatcher()
dispatch.addlistener(beeper)
dispatch.addlistener(pinger)
dispatch.notifyupdate()

output:
beep...beep...beep

ping...ping...ping
Run Code Online (Sandbox Code Playgroud)

python go

3
推荐指数
1
解决办法
1129
查看次数

从defrel和fact到core.logic.pldb

想知道关于如何代码应与问候的弃用而改变任何帮助defrel事实,并移动PLDB

这是代码:

(defrel parent x y)
(facts parent ’[[dave kaylen]
                [frank dave]])

(defn grandparent
    [x y]
    (fresh [z]
        (parent x z)
        (parent z y)))

;; In the REPL
user> (run* [q]
          (fresh [x y]
              (grandparent x y)
              (== q [x y])))
;; Result
([frank kaylen])    
Run Code Online (Sandbox Code Playgroud)

clojure clojure-core.logic

2
推荐指数
1
解决办法
790
查看次数

标签 统计

clojure ×1

clojure-core.logic ×1

go ×1

python ×1