在 Golang 中用名字调用函数

上个星期,我写了篇《Function call by name in Golang》。由于是英文的,所以被人诟病(说谁,谁知道!)。好吧,现在用中文重新写一遍。

Golang 中的函数跟 C 的一样,是个代码块,不过它可以像其他类型那样赋值给一个变量。

如果你对函数不熟悉,《Codewalk: First-Class Functions in Go》应该是个不错的起点。已经有所了解?那么继续吧!

首先,来看看这段 PHP 代码:

function foobar() {
    echo "Hello Golang\n";
}
$funcs = array(
    "foobar" => "foobar",
    "hello"  => "foobar",
);
$funcs["foobar"]();
$funcs["hello"]();

它会输出:

[email protected]:~/Desktop$ php foobar.php
Hello Golang
Hello Golang

Continue reading 在 Golang 中用名字调用函数