Go问答技术文章
-
我正在寻找在go中实现一个tcp服务器,它应该能够从一个客户端接收数据并将其发送到另一个客户端。实现这一目标的正确方法是什么?我尝试了以下代码:astSrc:=*addr+":"+strconv.Itoa(*astPort)astListener,_:=net.Listen("tcp",astSrc)fmt.Printf("Listeningon%sforClientConnections.\n",astSrc)deferastListener.Clo219 收藏 -
我是golang新手,我没有找到最新版本的emit和broadcast示例的其他变体:https://github.com/googollee/go-socket.io/,它是socketio库之一戈兰。首先这是我的golang代码,取自示例:funcinitsessionserver(){server:=socketio.newserver(&engineio.options{transports:[]transport.transport{438 收藏 -
我有一个数据存储表,就像这样name/id|useremail|userrole|userpermissions------------------------------------------------------json中的userrole属性是string。然而,在go代码中,它是一个类型typeuserdetailsstruct{nameidstringuseremailstringuserrole236 收藏 -
当我尝试运行以下语句时:eolTime,tErr:=time.Parse(time.RFC3339,eolDetails.EOL.(string))//eolDetails.EOL.(string)evaluatesto2021-04-30我收到一条错误消息,说error评估“time.rfc3339”作为函数time.parse中的参数布局:无法找到时间的符号值“(未使用的函数不包含在可执行文件中)”这个错误是什么意思?我需要做什么才能将日期解析为godate?这241 收藏 -
我不是go程序员,当我阅读go的代码时,我发现这样的代码funcmain(){......run(options)}我很困惑,函数run将运行什么?有人可以帮忙吗?408 收藏 -
我在如何使用字符串进行操作方面遇到了一些困难。此外,显然没有“while”循环,只有“for”循环,这不允许我实现我想要的。基本上,给定字符串:“helloujjkk”我想将所有字符与下一个字符进行比较,并验证它们是否匹配。例如,对于“helloujjkk”,我想返回“l”、“j”和“k”,因为这些字符后面跟着相同的字符。我在python中的做法是这样的:hello="helloujjkk"i=0whilei373 收藏
在vscode中使用go扩展,对方法进行基准测试只需单击[运行基准测试],您就会立即在vscode控制台中看到它的输出,然后是运行的命令和输出:runningtool:/usr/local/bin/gotest-benchmem-run=^$github.com/zyxan/benchmarks-bench^benchmarkrandomstringgeneration2$goos:darwingoarch:amd64pkg:github.com/zyxan402 收藏
我使用firebase使用单调递增的可按字母顺序排序的id(即rfc3339格式的日期)将文档插入到集合中。这可以帮助我查询最旧的文档,并在达到一定数量时将其删除。所以我的文档id看起来像这些字符串:“2021-05-21t18:00:00z”“2021-05-21t21:00:00z”“2021-05-21t22:00:00z”我正在使用cloud.google.com/go/firestorego库来检索id小于(396 收藏
有没有办法指定使用哪个dns服务器进行名称查找?查看https://golang.org/pkg/net/#lookuphost似乎它只会使用本地解析器lookuphostlooksupthegivenhostusingthelocalresolver.itreturnsasliceofthathost'saddresses.也在该链接的前面itcanuseapuregoresolverthatsendsdnsreques476 收藏
我对kubernetes的golangAPI有一些疑问。我应该使用哪一个?k8s.io/client-go还是k8s.io/kubernetes/pkg/client?有什么区别?我想获取所有pod的列表,然后监听添加/更新/删除事件,使用api.Pods("").Watch方法和使用informer有什么区别?我正在集群内部使用API,如何获取当前所在节点的名称?它只是机器的主机名吗?259 收藏
我正在编写简单的网络扫描器,并坚持通过端口号解析服务名称。最好的方法是什么?我认为它应该类似于python的socket.getservbyport()并创建了这个库,但不幸的是开发环境基于windows,而且我想要内置解决方案而不是解析器。packagemainimport("fmt""net""strings""sync""time")typePortScannerstruct{ipstring}fu365 收藏
如何将这种字符串转换为json(golang)string:'abc=123fruit=applepet=dog'json:{"abc":123,"fruit":"apple","pet":"dog"}123 收藏
我尝试在我的intellij终端中使用以下命令在我的go项目上安装[prometheus][1]:gogetgithub.com/prometheus/client_golang/prometheus当我这样做时,我收到以下错误:GOROOT=/usr/lib/golang#gosetupGOPATH=/home/yakiza#gosetup/usr/lib/golang/bin/golist-modfile=/home/yakiza/IdeaProjects/Zephy143 收藏
在golang1.18中,我想定义一个如下函数:funcpipe[a,t1,t2any](leftfunc(a)t1,rightfunc(t1)t2)func(a)t2{returnfunc(aa)t2{returnright(left(a))}}例如left函数的输出应该是right函数的输入,表示为泛型。我注意到,对于以下示例,这无法按预期工作:funcopenfile(namestring)*os.358 收藏
我一直在使用Go,并且在某些地方读到Go编译器只需要包含您直接从main导入的包。因此,解决依赖关系所需的时间是线性的,而C++的时间是指数级的。这是如何运作的?如果main导入包alpha,而包又导入包beta那么Go编译器不需要编译整个树吗?405 收藏