由于Java世界里有非常丰富的开源应用模型和轮子,而这些正是Go世界里面最缺乏的东西,所以我首先考虑的就是如何在Go里面调用现有的Java代码。早上写了个简单的Go调用Java的例子,在winxp环境下能够正常运行。这段代码比较简单,就是在Go代码里面去call一个叫Hello的java对象。而这个Hello .java功能也非常简单,就是接收一个参数,然后输出一行结果。调用的初始感觉还行,当然还需要后面做更复杂的案例测试。具体的代码如下:[@more@]
// run_java
package main
import (
"fmt"
"os/exec"
)
func callJava(){
cmd := exec.Command("java","Hello","tom")
out,err := cmd.Output()
if err != nil {
println("error:",err.Error())
}
fmt.Printf("call java class Hello: %qn", string(out))
}
func main() {
fmt.Println("Test Call Java function!")
callJava()
}
注意:
为了能够运行我的例子,需要把Hello.class放在和 run_java的可执行文件同样的目录下。例如, run_java.exe在d:goproject下,那么Hello.class也要在d:goproject下。



