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下。
1、首先我们打开myeclipse,点击左上角的File。
2、接着选择New,选择Java Project。
3、在创建java项目的页面,首先给项目命名,点击next。
4、一般在这里没有什么要设置的,点击下面的Finish。
5、项目创建完毕之后,我们需要创建类文件,也就是Class文件,在源文件夹src上右击,选择New,选择Class。
6、然后再创建Class的面板上,先命名,然后点击Finish(创建Class的时候要勾选下面的public static void mian(String[] args) ,这样这个Class才能运行)。
7、然后在main函数中输入System.out.println("hello world!")意思就是打印出hello world!。
8、在Class上右击,选择Run As ,选择Java Application。
9、如图在控制台中,我们就可以看到打印出的helloworld!。
可以,但是不是原生支持,需要做一层转换。比喻:使用json封装数据(json协议先确定好)
golang通过http访问webservice(使用http监听),java端返回json封装的数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)