草庐IT

相互之间

全部标签

Golang TCP 服务器 - 在客户端之间交换数据

我希望在go中实现一个TCP服务器,它应该能够从一个客户端接收数据并将其发送到另一个客户端。实现这一目标的正确方法是什么?我尝试了以下代码:astSrc:=*addr+":"+strconv.Itoa(*astPort)astListener,_:=net.Listen("tcp",astSrc)fmt.Printf("Listeningon%sforClientConnections.\n",astSrc)deferastListener.Close()pmsSrc:=*addr+":"+strconv.Itoa(*pmsPort)pmsListener,_:=net.Listen(

python - 如何在python和go语言之间共享变量?

我需要知道如何在两个程序之间共享变量,基本上go程序必须写一个变量,比如一个字符串,而python程序必须读取这个变量。请帮助我,提前谢谢你。 最佳答案 使用标准流。使用简单的printf类型命令将字符串打印到标准输出。然后用python中的raw_input()读取它。像这样运行这两个程序:./输出|./read.py 关于python-如何在python和go语言之间共享变量?,我们在StackOverflow上找到一个类似的问题: https://sta

logging - Logger.SetPrefix() 是否作为上下文粘在 channel /线程之间?

当我使用其他语言的日志包时,我总是强制执行某种类型的上下文Guid(UUID),每次调用记录器时都会记录下来。具体来说,这确实有助于在记录1000多个请求时跟踪哪组日志属于哪个Web请求或单个线程。我正在尝试使用Go附带的标准记录器来执行此操作。typeContextstruct{Log*log.Logger}//NewContextconstructsanewcontext.funcNewContext(r*http.Request)(*Context,error){id,err:=newUUID()iferr!=nil{log.Printf("ERRORinnewUUID():%s

graphics - 如何表示 Go 中实体之间的关系?

Golang上有一个很大的项目,分为很多包。我想可视化它的实体之间的关系,以便更好地理解项目的结构。首先想到的是依赖图类。如何构建?附言:我想找到所有未使用的方法/结构 最佳答案 最接近您搜索的工具(但没有图表功能)是gooracle它可以嵌入:Atom与atom.iogo-oraclepackageSublimeText与waigani/GoOracle插件我也喜欢使用测试用例来computeacodecoverage,这也有助于查明未使用的方法。 关于graphics-如何表示Go中

google-app-engine - 如何在 App Engine 模块之间共享文件(HTML 模板)?

我正在使用GoogleAppEngine的Go运行时并且有两个模块。我想在他们之间共享HTML模板,但最好不要这样做。我的模块组织如下:src/github.com/myproject/moduleone/app.yamlsrc/github.com/myproject/moduleone/templates/base.htmlsrc/github.com/myproject/moduleone/templates/homeone.htmlsrc/github.com/myproject/moduletwo/app.yamlsrc/github.com/myproject/module

正则表达式匹配之间的一切

我已经尝试了一个小时,但我不是正则专家。我想做的事情看起来很简单,但结果比我想象的要困难得多。基本上我有这个:我想做的是捕获第一行之间的所有内容和*****.一个文件中会有很多这样的block。我目前使用的正则表达式是(?:,但它并没有真正起作用。有任何想法吗?我使用的语言是Go。 最佳答案 没关系,我想通了!(?:似乎最重要的是让中间的匹配组变得懒惰,以便尽可能少地匹配。 关于正则表达式匹配之间的一切,我们在StackOverflow上找到一个类似的问题:

arrays - Go Slice - [ :n] and [n:] 之间的区别

GoSlice问题,如果我遗漏了什么,请检查下面并评论。import"fmt"funcmain(){s:=[]int{2,3,5,7,11,13}s=s[1:]fmt.Println(s)s=s[2:]fmt.Println(s)s=s[5:]fmt.Println(s)}输出:[3571113][71113]panic:运行时错误:slice边界超出范围上面说的很有道理。funcmain(){s:=[]int{2,3,5,7,11,13}s=s[:1]fmt.Println(s)s=s[:2]fmt.Println(s)s=s[:5]fmt.Println(s)}输出:[2][23]

go - 通过 api 网关的 http 链接的 docker 容器之间的通信

我目前正在开发一个golang网络应用程序,该应用程序目前是一个由许多包组成的应用程序,并且部署在一个单独的docker容器中。我有一个redis实例和一个mysql实例作为单独的容器部署和链接。为了获取它们的地址,我从docker设置的环境变量中拉取它们。我想实现一个api网关模式,其中我有一个服务公开HTTP端口(80用于http或443用于https)称为“api”,它代理对其他服务的请求。其他服务最好不要公开任何端口,而是直接链接到它们所依赖的服务。所以,api会和除mysql和redis以外的所有服务Hook。任何需要验证用户session信息的服务都将与用户服务等相关联。我

go - 项目之间的类型冲突

我想将特定子域使用的代码移动到它自己的项目中,这些代码将由当前所在的主代码库导入。我能够成功地将代码从子域导入到主项目中,直到我添加gorilla多路复用器代码。例如,这有效://importsandnon-relevantroutesremovedforsimplicityr:=mux.NewRouter()//Primarysiterouteshere...s:=r.Host("subdomain-regex-here").Subrouter()s.HandleFunc("/",people.Index)http.ListenAndServe("localhost:8080",r)

nginx - 使用代理服务器在 Golang 应用程序之间切换

我有一台装有CentOS的服务器,在那里我将至少运行4个Golang应用程序,每个应用程序都是一个不同的站点,我应该能够在浏览器中使用域/子域访问这些站点,如下所示:dev00.mysite.comdev01.mysite.comdev02.mysite.comdev03.mysite.com因此,我需要配置某种软件,将请求重定向到正确的Golang进程。每个站点都将在不同的端口上运行,例如,如果有人调用dev00.mysite.com,我应该能够将该请求发送到dev00站点的进程(这是为了开发porpouses,而不是生产)。所以,在这里我开始相信我在阅读时需要Nginx或Caddy