package main
import "fmt"
import "encoding/json"
type Track struct {
XmlRequest string `json:"xmlRequest"`
}
func main() {
message := new(Track)
message.XmlRequest = "<car><mirror>XML</mirror></car>"
fmt.Println("Before Marshal", message)
messageJSON, _ := json.Marshal(message)
fmt.Println("After marshal", string(messageJSON))
}
Run Code Online (Sandbox Code Playgroud)
是否有可能做出json.Marshal无法逃脱<和>?我目前得到:
{"xmlRequest":"\u003ccar\u003e\u003cmirror\u003eXML\u003c/mirror\u003e\u003c/car\u003e"}
Run Code Online (Sandbox Code Playgroud)
但我正在寻找这样的事情:
{"xmlRequest":"<car><mirror>XML</mirror></car>"}
Run Code Online (Sandbox Code Playgroud) 我想从XSD(Structure XSD)创建一个Golang结构.
我已经阅读了来自XSD的post 生成Go结构,建议使用go-xsd,但我已经下载了go-xsd并安装了xsd-makepkg而且我无法生成我的结构.
我在做什么?
xsd-makepkg -basepath ="/ Users/XSD_Access /" - goinst = false
-xsd-makepkg:它是从
另一个go-xsd-pkg
-basepath 创建的二进制文件:包含我想要转换为struct的Structure XSD的路由.-goinst:我没有安装go-buildrun,我认为它不是必要的,因为这个原因是ser false
命令的结果是什么?
包含所有关注者XML包装器的其他文件夹的文件夹($ GOPATH/usr/Users/XSD_Access /)
结构XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Request" type="Request"/>
<xs:complexType name="Request">
<xs:annotation>
<xs:documentation xml:lang="sp"><![CDATA[
Comment xxxxx
]]></xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="idOne" type="xs:string" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="sp"><![CDATA[Comment xxxxx
]]></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="idTwo" type="xs:string" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="sp"><![CDATA[Comment xxxxxx
]]></xs:documentation>
</xs:annotation>
</xs:element> …Run Code Online (Sandbox Code Playgroud) 在文章中运行-mongodb-queries-concurrently-with-go表示mgo.DialWithInfo:创建一个会话,维护一个到MongoDB的套接字连接池,但是当我在函数DialWithInfo的documentacion中寻找时,我找不到东西谈到我关于池连接的事情,只有我在拨号功能拨号功能中找到了一些内容:对于给定的群集,此方法通常只调用一次.然后,在获得的会话上使用New或Copy方法建立到同一群集的进一步会话.这将使它们共享底层集群,并适当地管理连接池.
提前致谢
我有一个共同的项目和小项目,如共同项目中的连接器.
我想创建一个公共项目,以便在开发新连接器时,我不必修改公共项目中的代码.是否有可能在Go中动态加载结构,只知道结构及其文件夹的路径(通过将此路径放在公共项目的文件中并在运行时加载该结构)?
connector1
connector1.go
/util
/domain
connectorN
connectorN.go
/domain
commonProject
main.go
config.ini
Run Code Online (Sandbox Code Playgroud)
结构config.ini
Conector
name = connector1
path = ..../connector1/connector1.go
Conector
name = connectorN
path = ..../connectorN/connectorN.go
Run Code Online (Sandbox Code Playgroud)
我知道用Java这样可以用这样的代码来实现这个,但是我想在Go中做这个.有任何想法吗?
Class.forName(String)
Run Code Online (Sandbox Code Playgroud)
要么
ClassLoader.loadClass(String):
Run Code Online (Sandbox Code Playgroud) 我正在使用Docker for Windows(我没有使用使用VM的Docker Toolbox)但是我无法从本地网络上的另一台机器上看到我的容器.在我的主人,一切都很完美,运行良好,但是,我希望其他人使用我的容器.
尽管在Docker论坛上发布了相同的问题,答案并没有显示出来.另外,我一直在这里寻找,但解决方案发现它是关于在虚拟机中设置桥接选项,正如我之前所说,我使用Docker for Windows,没有使用虚拟机.
Docker版本命令
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: windows/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: linux/amd64
Run Code Online (Sandbox Code Playgroud)
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
789d7bf48025 gogs/gogs "docker/start.sh /bin" 5 days ago Up 42 minutes 0.0.0.0:10022->22/tcp, 0.0.0.0:5656->3000/tcp gogs
7fa7978996b8 mysql:5.7.14 "docker-entrypoint.sh" 5 …Run Code Online (Sandbox Code Playgroud)