小编tgr*_*ger的帖子

将map转换为struct

我正在尝试在Go中创建一个通用方法,它将填充struct来自a 的使用数据map[string]interface{}.例如,方法签名和用法可能如下所示:

func FillStruct(data map[string]interface{}, result interface{}) {
    ...
}

type MyStruct struct {
    Name string
    Age  int64
}

myData := make(map[string]interface{})
myData["Name"] = "Tony"
myData["Age"]  = 23

result := &MyStruct{}
FillStruct(myData, result)

// result now has Name set to "Tony" and Age set to 23
Run Code Online (Sandbox Code Playgroud)

我知道这可以使用JSON作为中介来完成; 还有另一种更有效的方法吗?

go

73
推荐指数
6
解决办法
6万
查看次数

从子进程读取Stdout

我试图从Golang生成一个子进程.目标是逐行读取和处理输入.这是我想要的工作:

func readStuff(scanner *bufio.Scanner) {
    for scanner.Scan() {
        fmt.Println("Performed Scan")
        fmt.Println(scanner.Text())
    }
    if err := scanner.Err(); err != nil {
        fmt.Fprintln(os.Stderr, "reading standard input:", err)
    }
}

func main() {
    cmd := exec.Command("/usr/local/bin/pocketsphinx_continuous", "-inmic", "yes")
    out, err := cmd.StdoutPipe()

    err = cmd.Start()
    checkError(err)

    scanner := bufio.NewScanner(out)
    fmt.Println("Scanner created")

    defer cmd.Wait()
    go readStuff(scanner)
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,打印了"扫描仪创建",但之后没有任何反应.

但是,运行此命令会导致我希望打印到的内容:

/usr/local/bin/pocketsphinx_continuous -inmic yes 1>out.txt
Run Code Online (Sandbox Code Playgroud)

并修改代码直接复制到stdout工作:

cmd := exec.Command("/usr/local/bin/pocketsphinx_continuous", "-inmic", "yes")
cmd.Stdout = os.Stdout
Run Code Online (Sandbox Code Playgroud)

我错过了什么让我无法阅读输出?

go

9
推荐指数
1
解决办法
2408
查看次数

具有概率的枚举的随机值

我有一个枚举,我想随机选择一个值,但不是真正随机的.我希望到目前为止,某些值不太可能被选中.这是我到目前为止所拥有的......

private enum Type{
        TYPE_A, TYPE_B, TYPE_C, TYPE_D, TYPE_E;

        private static final List<Type> VALUES =
            Collections.unmodifiableList(Arrays.asList(values()));
          private static final int SIZE = VALUES.size();
          private static final Random RANDOM = new Random();

          public static Type randomType()  {
            return VALUES.get(RANDOM.nextInt(SIZE));
          }
    }
Run Code Online (Sandbox Code Playgroud)

是否有一种有效的方法为每个值分配概率?

代码从这里找到

java enums

6
推荐指数
1
解决办法
4090
查看次数

在主/细节流中切换碎片

我正在尝试使用Fragments创建一个具有Master/Detail流程的应用程序.选择一个项目将打开一个细节片段,然后可以"打开"另一个片段并将其添加到后栈.

我已经重命名了类来帮助说明他们的工作.

public class ListOfDetails extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
    }

    //Callback method indicating that an item with the given ID was selected.
    public void onItemSelected(String id) {
        // Performing logic to determine what fragment to start omitted

        if (ifTwoPanes()) {
            Fragment fragment = new DetailFragmentType1();
            getSupportFragmentManager().beginTransaction().replace(R.id.aContainer, fragment).commit();
        } else {
            Intent newIntent = new Intent(this, SinglePaneFragmentWrapper.class);
            newIntent.putExtra("id", id);
            startActivity(newIntent);
        }
    }

    // My attempt at making it possible to change displayed fragment from …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-fragmentactivity

5
推荐指数
1
解决办法
1654
查看次数

线程安全树

Java中是否存在线程安全的树实现?我发现了一些建议在添加和删除方法周围使用synchronized()的信息,但我有兴趣看看Java中是否有任何内置.

编辑:我正在尝试使用八叉树.我正在学习,但我正在使用这个项目来学习多线程和空间索引,所以这里有很多新主题.如果有人有一些特别好的参考资料,请分享.

java multithreading

2
推荐指数
1
解决办法
5753
查看次数

Powershell - 在外部程序运行时暂停脚本

我有一个powershell脚本,它完成了一些所有需要按顺序完成的事情.目前我正在使用此代码运行一些外部程序(假设我在正确的目录中)

.\program1.exe
.\program2.exe
.\program3.exe
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是这些都将按顺序运行,而不是等到前一个完成.有没有办法让他们等到上一个程序结束?

powershell

2
推荐指数
1
解决办法
3531
查看次数

Java - 序列化线程

我有一系列我想要序列化的对象.不幸的是,这些对象都有一个对包含它们的控制器类的引用,它也保存了执行的线程.每当我尝试序列化此集合时,我收到一个错误,它无法序列化一个线程.如果没有重组整个设置,有没有办法解决这个问题?如果有帮助,我可以提供更多细节.

java serialization multithreading

1
推荐指数
1
解决办法
136
查看次数

Java中的通用方法和继承

让我们说C类和D类扩展了B类,扩展了A类

我在E类中有一个方法,我希望能够使用对象C或对象D.我知道A类提供了我需要的所有方法.我怎样才能编写一个让我传递对象C或对象D作为参数的方法?

我是否正确地认为我需要制作一个通用类?如果是的话有没有人有更接近我所需要的具体的例子是其中似乎只告诉我如何使用现有的集合类?

java generics inheritance

0
推荐指数
1
解决办法
296
查看次数