草庐IT

Java8新特性之lambda表达式

全部标签

java - 最小化 Golang 中的接口(interface)

在golang中,接口(interface)对于解耦和组合代码极其重要,因此,一个高级的go程序可能很容易定义上千个接口(interface)。我们如何随着时间的推移改进这些接口(interface),以确保它们保持最小化?是否有常用的go工具来检查未使用的函数?是否有使用类似于java的@Override的方式注释go函数的最佳实践,以确保声明的函数正确实现预期的契约?通常在java语言中,很容易使代码与接口(interface)规范紧密绑定(bind),因为高级工具允许我们查找和删除根本未被引用的函数(通常这会在任何常见的情况下自动为您突出显示)开发环境)。

java - Jsonrpc4j 和 go 的 rpc/jsonrpc 之间的 JSONRPC 格式不同

当我尝试使用net/jsonrpc包构建服务器和带有jsonrpc4j的Java客户端时遇到问题问题是jsonrpc4j是当发生错误时,golang的方法将错误和编码返回给json。我在客户端得到了这个json对象{"id":-6028374044949000,"result":null,"error":"someerrorreturnmessage"}此对象在java的json4j中转换失败。http://www.jsonrpc.org/specification#error_object我查看了jsonrpc页面,说errorfieldMUSTajsonobjectwithfiel

go - 如何使用正则表达式匹配任何重复字符?

我需要匹配任何重复两次的字符,例如:"abccdeff"应该匹配“cc”和“ff”。在任何其他正则表达式语法中,让我们使用Javascript作为一个快速示例,我可以这样做:varstr="abccdeff";varr=/([a-z]{1})\1/gconsole.log(str.match(r))哪个返回['cc','ff']但是Go的正则表达式似乎不允许这样做。可以在Go中执行此操作吗? 最佳答案 因为反向引用是notsupportedbyre2,你需要:要么使用anotherregexlibrary(比如glenn-brown

java - 如何触发 java 应用程序(来自 Google GO/golang sub_process 的 java -jar <app name>

我正在尝试将java命令行应用程序作为golang的子进程触发。由于某种原因它失败了,实际上当我从GO启动它时我没有得到javaAPP界面。它等待几秒钟并以错误代码“无法连接...”终止这是我尝试使用的代码:packagemainimport("fmt""os/exec")funcmain(){start_java_app_test()}funcstart_java_app_test(){cmd_prep:="java-Xmx2g-jartest_app.jar"cmd_output,err:=exec.Command("bash","-c",cmd_prep).Output()ife

带有inotifywait的正则表达式在golang中编译两种类型的文件

我使用script使用inotifywait在golang中自动编译。但是这个脚本只检查扩展名为.go的文件。我还想添加.tmpl扩展名,但脚本使用正则表达式。我必须对此行进行哪些更改才能获得所需的结果?inotifywait-q-m-r-eclose_write-emoved_to--exclude'[^g][^o]$'$1我试过连接|或&和其他类似([^t][^m][^p][^l]|[^g][^o])$但似乎没有任何效果。 最佳答案 与其尝试使用正则表达式来排除两种类型的文件,不如只看那些文件?inotifywait-q-m-r

java - 在 Windows 中从 golanguage 程序执行 jar

'packagemainimport("fmt""log""os/exec""strings")funcmain(){//varjava="\\jrex64\\bin\\java.exe"varjava="jre/lib/java.exe"varpath=[]string{"jrex64\\lib\\rt.jar","jrex64\\lib\\jfxrt.jar","jrex64\\lib\\resources.jar","jrex64\\lib\\ext\\sunjce_provider.jar","jrex64\\lib\\ext\\zipfs.jar","jrex64\\lib\

java - 使用来自 GAE API 的 endpointscfg 生成 Java 客户端库时出现 HTTP 500 错误

我尝试使用从我的API端点(在golang上运行)检索到的发现文档生成Java客户端库,但失败了,并显示以下消息。endpointscfg.pygen_client_libjavahappylaundry.rest.discoveryTraceback(mostrecentcalllast):File"//Users/lorenz/go/go_appengine/endpointscfg.py",line133,inrun_file(__file__,globals())File"//Users/lorenz/go/go_appengine/endpointscfg.py",line1

java - 带有 Java 客户端的 golang 服务器

我有一个大问题......我们有一个关于学校和工作的项目。我编写go服务器,我的伙伴编写java客户端。我有一个问题,如果他发送类似“HelloWorld”的内容,golang服务器会将其拆分为“Hello”和“World”SeePictureJava代码:publicclassDataController{publicStringrecieveDataFromServer(Socketsocket)throwsException{BufferedReaderbufferedReader=newBufferedReader(newInputStreamReader(socket.get

java - 从终端编译 java 源代码的最简单方法?

在没有IDE的情况下编译java源文件的最简单方法是什么?我主要是用Java做算法,这些题其实并不需要完整的项目环境。尽管能够导入一些可重用的类会很好。在Go中,我可以像这样构建我的项目:$HOME/src//编译它最终在$HOME/bin/*中(应用程序)或$HOME/pkg//(图书馆)。有没有办法做这样的事情,但对于java? 最佳答案 javac和jar命令将编译Java代码并创建jar文件。您的源代码必须位于与包结构相匹配的目录结构中。这意味着目录java/awt将包含java.awt包源文件。许多年前,我使用一组UNIX

Golang 中的正则表达式 : How to set character that makes the string not match?

我对正则表达式一窍不通(抱歉)。我试图制作一种非常简单的标记语言,匹配粗体和斜体,然后将它们转换为HTML。这是我使用的粗体示例:varbold=regexp.MustCompile("\\*([^\\*]+)\\*")它匹配两个星号之间的所有内容。现在,我希望它匹配*test*但不匹配\*test*。由于我对正则表达式知之甚少,但我正在尝试进行此实验,因此我想知道这样做的方法是什么。我到处搜索,但找不到完成这项工作的方法。 最佳答案 已更新Go不支持回顾。因此,解决方法可以是:(?:\A|(?:[^\\]+|\A)(\\{2})+