我string
通过一个rabbitmq消息系统.发送之前,
我使用json.Marshal
,转换结果string
并通过rabbitmq发送.
我转换和发送的结构可以是:(更改了结构的名称和大小,但它无关紧要)
type Somthing1 struct{
Thing string `json:"thing"`
OtherThing int64 `json:"other_thing"`
}
Run Code Online (Sandbox Code Playgroud)
要么
type Somthing2 struct{
Croc int `json:"croc"`
Odile bool `json:"odile"`
}
Run Code Online (Sandbox Code Playgroud)
消息完美地作为a string
打印并打印在另一侧(某些服务器)
到目前为止一切正常.现在我正在尝试将它们转换回结构并断言类型.
第一次尝试是:
func typeAssert(msg string) {
var input interface{}
json.Unmarshal([]byte(msg), &input)
switch input.(type){
case Somthing1:
job := Somthing1{}
job = input.(Somthing1)
queueResults(job)
case Somthing2:
stats := Somthing2{}
stats = input.(Somthing2)
queueStatsRes(stats)
default:
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.在打印input
解组后的类型时,我得到map[string]interface{}
(?!?)
甚至比这更奇怪,地图键是我得到的字符串,地图值是空的.
我做了一些其他的尝试,如:
func typeAssert(msg string) {
var input interface{} …
Run Code Online (Sandbox Code Playgroud) 可能是一个愚蠢的事情,但有点卡在它上面......
无法修剪"["
字符串中的字符,我尝试输出的内容:
package main
import (
"fmt"
"strings"
)
func main() {
s := "this[things]I would like to remove"
t := strings.Trim(s, "[")
fmt.Printf("%s\n", t)
}
// output: this[things]I would like to remove
Run Code Online (Sandbox Code Playgroud)
还尝试了所有这些,没有成功:
s := "this [ things]I would like to remove"
t := strings.Trim(s, " [ ")
// output: this [ things]I would like to remove
s := "this [ things]I would like to remove"
t := strings.Trim(s, "[")
// output: this [ things]I would …
Run Code Online (Sandbox Code Playgroud) 有一个奇怪的问题,在某些笔记本电脑的屏幕设置中的 Windows 10 上,默认值(推荐)是 125% 所以当打开网页时一切都很大,因为页面是为 100% 构建的
如何处理?css?JS?老实说不知道如何处理这个
细节:
Lenevo yoga 730 15inch
谢谢
我想以编程方式更改选项卡的textview.有没有办法做到这一点?
有关旧TabHost视图的答案,我正在使用Google的Material Design库使用的TabLayout android.support.design.widget.TabLayout.
对于TabHost: 如何将填充添加到选项卡标签?
经过大量搜索并使用React和React Native。对于哪种方法最好使用以及什么情况下,我仍然存在模糊的看法
将父组件连接到商店,并将所有数据作为道具传递给子功能组件。我最初使用的是“ React”方式,但很快我就发现随着应用程序的增长,该父组件处理的逻辑量开始变得又大又混乱。子组件也开始拥有自己的子组件,因此等等。
具有父组件(Screen
例如)可以正常工作,并且每个需要商店中信息的子组件都将与其连接。这是更“干净”的解决方案,但会创建许多不必要的存储连接“重复项”。
使用Redux存储
我的问题通常是哪个更推荐使用的模式以及在哪些用例中,也很高兴知道拥有大量连接的(容器)组件的价格是多少
所以我试图从多个目录和文件中创建tar.gz文件.具有相同用法的东西:
tar -cvzf sometarfile.tar.gz somedir/ someotherdir/ somefile.json somefile.xml
Run Code Online (Sandbox Code Playgroud)
假设目录中包含其他目录.我有这个作为输入:
paths := []string{
"somedir/",
"someotherdir/",
"somefile.json",
"somefile.xml",
}
Run Code Online (Sandbox Code Playgroud)
并使用这些:
func TarFilesDirs(paths []string, tarFilePath string ) error {
// set up the output file
file, err := os.Create(tarFilePath)
if err != nil {
return err
}
defer file.Close()
// set up the gzip writer
gz := gzip.NewWriter(file)
defer gz.Close()
tw := tar.NewWriter(gz)
defer tw.Close()
// add each file/dir as needed into the current tar archive
for _,i := range paths {
if …
Run Code Online (Sandbox Code Playgroud) 无法从文档或谷歌完全理解它:
两者之间有什么区别,在哪种情况下你会使用哪一种?
for{
select{
case s := <-something:
fmt.Println(s)
case done := <-true:
return
}
}
Run Code Online (Sandbox Code Playgroud)
和
select{
case s := <-something:
fmt.Println(s)
case done := <-true:
return
}
Run Code Online (Sandbox Code Playgroud)
谢谢
未能做一些相当简单的事情,无法从谷歌叔叔或这里找到答案
我试图在几秒钟内获得一整月(一个整数)比这更优雅的东西:
s := 3600 * 24 * 30
Run Code Online (Sandbox Code Playgroud)
还尝试过:
m := time.Hour * 24 * 30
Run Code Online (Sandbox Code Playgroud)
但这返回类型“time.Duration”,我也无法将其转换为 int
注意:不太关心每个月的新闻日(28-31),但如果可以使用特定月份作为输入,那就太好了。
我不是 Goxpert,所以去吧(看看我在那里做了什么?)对我轻松一点..
提前致谢。
go ×5
javascript ×2
reactjs ×2
android ×1
css ×1
goroutine ×1
gzip ×1
rabbitmq ×1
react-native ×1
react-redux ×1
string ×1
tabs ×1
tar ×1
trim ×1