golang调用java

作者:原创时间:2022-03-22
文档

golang调用java是什么,让我们一起了解一下?

golang是一种静态强类型、编译型语言。功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算,golang调用java就是接收一个参数,然后输出一行结果。

由于Java世界里有非常丰富的开源应用模型和轮子,而这些正是Go世界里面最缺乏的东西,所以我首先考虑的就是如何在Go里面调用现有的Java代码。

我们用一个简单的Go调用Java的例子,来进行测试。(在winxp环境下能够正常运行)这段代码比较简单,就是在Go代码里面去call一个叫Hello的java对象。而这个Hello .java功能也非常简单,就是接收一个参数,然后输出一行结果。

// run_java
package main
 
import (
"fmt"
"os/exec"
)
 
/**
* 调用一个Hello.class,并接收一个参数
*/
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: %q\n", string(out))
 
}
func main() {
fmt.Println("Test Call Java function!")
callJava()
}
 
/* Hello.java
public class Hello{
public static void main(String[] args){
if(args.length==0)
System.out.println("hello my world!");
else
System.out.println("hello my world! "+args[0]);
}
}*/

注意:
为了能够运行我的例子,需要把Hello.class放在和 run_java的可执行文件同样的目录下。例如, run_java.exe在d:\goproject下,那么Hello.class也要在d:\goproject下。

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
grep java groupby java guava java hbase java hibernate java hotspot java idea创建java idea创建普通java项目 idea怎么建立java idea编写java程序 influxdb java instance java instant java integer java interface java iterator java 铁观音产地是哪个地方 java -ea 南极洲有哪些国家 行程码带*号什么意思 glue java geojson java geohash java gdb java gdal java gateway java for循环java foreach java field java 爱奇艺黄金会员和星钻会员的区别 false是java关键字吗 extends java extend java excel读取java enum java 小程序和app的区别 awesome java arrays java eclipse创建java dozer java