我不清楚在while循环中捕获GeneratorExit的行为,这是我的代码:
# python
Python 2.6.6 (r266:84292, Sep 4 2013, 07:46:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def func():
... while True:
... try:
... yield 9
... except GeneratorExit:
... print "Need to do some clean up."
...
>>> g = func()
>>> g.next()
9
>>> g.close()
Need to do some clean up.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: generator ignored GeneratorExit …Run Code Online (Sandbox Code Playgroud) 我正在使用Python 2.6.6,并使用pdb来调试我的Python程序,但我不清楚pdb中"next"和"until"之间的区别是什么,看起来它们都将继续执行直到下一行在当前的功能.
我对 Docker 中的“--expose”选项感到困惑,我不知道它实际上会做什么。
当我在“docker run ...”中指定它(例如,--expose=1234)时,端口将在哪里暴露?我不认为我可以访问主机中的端口,如果我想要的话,我认为我需要的是“-p”,那么“--expose”实际上会做什么?
我想如果我想从主机访问容器端口,我需要的是,让容器中的服务监听该端口,使用“docker run”中的“-p”选项将端口发布到主机上。或者在这种情况下,我仍然必须使用“--expose”来公开端口?
我是Go的新手,发现可以返回函数中定义的局部变量的地址.这显然在C中是不可能的,因为局部变量在堆栈中.
所以我只是想知道为什么在Go中可以做到这一点?在Go中,局部变量在堆中?它会影响性能,因为分配堆内存比堆栈贵吗?可以在Go中在堆栈中分配局部变量吗?或者实际上Go中有堆栈内存?