草庐IT

第三天Java——基础知识

全部标签

Go AST/Types——如何判断错误?

有更好的方法吗?我需要知道v的类型是否是内置的“错误”类型。我觉得应该有一种更简洁的方法来做到这一点:import("go/ast""go/types")funcIsError(vast.Expr,infotypes.Info)bool{t:=info.Types[v]returnt.Type.String()=="error"&&t.Type.Underlying().String()=="interface{Error()string}"} 最佳答案 Typeassertion是检查变量类型的惯用方法。鉴于您正在处理一个AST表

java - 我将如何在 Java 中实现 Go 的无缓冲 channel ?

Go同时提供unbufferedandbufferedchannels用于goroutines(线程)之间的通信。是straightforward在Java中将缓冲channel实现为有界缓冲区。Go的无缓冲channel要求一个协程在另一个协程接收时发送。任何人都可以向我解释如何在Java中实现它吗? 最佳答案 在Java中你可以使用SynchronousQueue,Java8的源代码在这里http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/

go - Gorilla mux 路由器不提供静态内容——比如 style.css、script.js

我是Go语言的初学者。我试图用GorrilaMux路由器提供静态容器。但是css和js不是我的服务器。projectf-mymux.god-pagesf-home.htmlf-about.htmld-publicd-cssf-style.cssd-jsf-script.js注意:f-文件&d-目录我的GO代码如下:packagemainimport("bufio""github.com/gorilla/mux""log""net/http""os""strings""text/template")funcmain(){serverWeb()}varstaticPages=populat

pointers - 将类型别名的变量传递给需要指向基础类型的指针的函数

我将自定义类型别名(使用方法)定义为:typeAwsRegionstring然后我想将这种类型的变量传递给另一个遗留(不受我控制)函数,它接受指向字符串的指针(指向基础类型的指针):funcmain(){varregionAwsRegion="us-west-2"f(®ion)//HowtoproperlycastAwsRegiontypehere?}funcf(s*string){fmt.Println(*s)//justanexample}当然我不能这样做,错误消息指出:cannotuse®ion(type*AwsRegion)astype*stringinargume

google-app-engine - 我如何将第三方 Go 库与谷歌应用引擎的开发服务器一起使用?

在我的一个.go文件中我有:import(..."github.com/stripe/stripe-go""appengine""appengine/datastore")但是当我运行dev_appserver.pyapp.yaml时,出现以下错误:Can'tfindpackage"github.com/stripe/stripe-go"in$GOPATH我已经尝试运行gogetgithub.com/stripe/stripe-go我可以看到成功安装到~/go/src/github.com/stripe/stripe-go但出于某种原因,GAE开发服务器似乎没有查看该路径。gcloud

java - 如何使用 JNA 为具有多个返回值的 go 函数编写接口(interface)

我正在尝试导出一些Go函数并在Java中调用它们,使用JNA,但我不知道如何在Java中为具有多个返回值的Go函数定义接口(interface)。假设Go函数是://exportgenerateKeysfuncgenerateKeys()(privateKey,publicKey[]byte){return.....}返回值有两项,但在Java中,只允许有一项返回值。我能做什么? 最佳答案 cgo为多个返回值创建专用的C结构,并将各个返回值作为结构元素。在您的示例中,cgo将生成/*ReturntypeforgenerateKeys

go - 第三方库(闭源)

有没有一种方法可以用go语言用一堆源文件构建一个二进制文件(共享库或静态库),并将它与它的接口(interface)一起分发。它不是作为可执行文件分发的,而是在编译或运行时带有接口(interface)的可链接静态或共享库。(就像在C中一样,您分发.a或.so文件以及头文件)与基于github的开源库不同,它是一个封闭源项目,我正在尝试为Go移植。 最佳答案 是的,这是可能的。您可以将代码构建为静态库,并在运行时使用此命令将其链接:gobuild-buildmode=plugin你可以像这样使用内置插件:符号是指向变量或函数的指针。

java - 向 TCP 服务器指示 Java TCP 客户端已完成写入流

我正在编写一个连接到GolangTCP服务器的JavaTCP客户端。服务器使用以下代码从客户端读取消息:func(tcpHandlerTCPHandler)getClientMsgBytes(connection*net.TCPConn)([]byte,error){clientMsgBytes,err:=ioutil.ReadAll(connection)iferr!=nil{returnnil,err}returnclientMsgBytes,nil}我的客户端使用以下代码向服务器发送消息:try(Socketsocket=newSocket("localhost",9000)){

java - 与Levenshtein的快速比较

Closed.Thisquestionneedstobemorefocused。它当前不接受答案。想改善这个问题吗?更新问题,使其仅关注editingthispost一个问题。去年关闭。Improvethisquestion我正在尝试寻找一种最佳方法,将一个文本(最大长度:300)与Levenshtein的300.000进行比较。最后,我需要一个带有简单RESTAPI的Web服务。将来,条目数将超过300.000。在后台,我正在使用一个简单的MySQL数据库。我的第一个想法是使用MySQL来完成这项工作。为此,我找到了这个:https://github.com/juanmirocks/

java - 如何在 AWS 上部署自己的服务器(用 Java 编写)(类似于 Openshift 的 DIY)?

在AWS上有类似“Openshift的DIY”的东西吗?我从来没有用过AWS,现在需要在云上部署我们团队自己的服务器(写java),而且我们必须使用AWS。此服务器监听自定义端口,并为客户端提供RPC服务。我想知道是否可以在AWS上进行DIY,如何进行?以及是否支持go语言服务器? 最佳答案 OpenShift是一家PaaS提供商。它为您提供了一个带有Java运行时和应用程序服务器(Tomcat、Wildfly等)的P平台,您可以在其上部署您的应用程序。AWS有很多不同的服务。EC2是一个IaaS。它为您提供了一个I基础设施。它使用