小编tle*_*man的帖子

可以考虑的时间.在golang中的时间

我有一个结构,我打算用数据库记录填充,其中一个日期时间列可以为空:

type Reminder struct {
    Id         int
    CreatedAt  time.Time
    RemindedAt *time.Time
    SenderId   int
    ReceiverId int
}
Run Code Online (Sandbox Code Playgroud)

既然指针可以nil,我已经做RemindedAt了一个指针,但这需要代码知道At变量之间的区别.有更优雅的方式来处理这个问题吗?

time null go

32
推荐指数
2
解决办法
3万
查看次数

我的结构不是编组到json中

我在Mac OS X 10.8.2上使用Go 1.0.3,我正在试验json包,尝试将结构封送到json,但我不断得到一个空的{}json对象.

err值是零,所以没有什么根据的是错误的json.Marshal功能,并且该结构是正确的.为什么会这样?

package main

import (
  "encoding/json"
  "fmt"
)

type Address struct {
  street string
  extended string
  city string
  state string
  zip string
}

type Name struct {
  first string
  middle string
  last string
}

type Person struct {
  name Name
  age int
  address Address
  phone string
}

func main() {
  myname := Name{"Alfred", "H", "Eigenface"}
  myaddr := Address{"42 Place Rd", "Unit 2i", "Placeton", "ST", "00921"}
  me := …
Run Code Online (Sandbox Code Playgroud)

json go

17
推荐指数
2
解决办法
1504
查看次数

如何执行引用表变量的SQL String?

我在SQL Server 2008中有一个表变量

    DECLARE @specsAndModel TABLE
    (
        specName VARCHAR(50)
        ,specVal VARCHAR(50)
    )
    INSERT INTO @specsAndModel
    VALUES('[modelNumber]', 'F00-B4R')
Run Code Online (Sandbox Code Playgroud)

然后,我稍后构建一个名为的字符串@query,我最终尝试将其传入EXECUTE,如下例所示:

    DECLARE @query NVARCHAR(MAX);
    SET @query = 'SELECT specName, specVal FROM @specsAndModel'
    EXECUTE(@query)
Run Code Online (Sandbox Code Playgroud)

但是,SQL Server给我错误消息: Must declare the table variable "@specsAndModel".

搜索后,我认为这可能与执行上下文有关,但我无法解决问题.

我是否可以在对execute函数的调用中使用表变量?

sql sql-server

15
推荐指数
1
解决办法
8万
查看次数

从Graphviz显示图像而不创建中间文件?

我想先显示图形而不先写文件.

假设我有一个命令foo在标准输出上产生这个:

digraph foogrph {
   a -> b;
   a -> c;
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是管道foo输入dot然后将结果传递到一个命令,该命令将在图形环境中显示图像.

foo | dot -Tpng | <display command>
Run Code Online (Sandbox Code Playgroud)

我找到了一个涉及临时文件的解决方法.在OSX中,我可以执行以下操作:

foo | dot -Tpng > temp && open temp
Run Code Online (Sandbox Code Playgroud)

但我仍然需要从文件系统中删除该文件.

如何显示正在写入标准的图像?

command-line graphviz

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

在Mathematica中生成拓扑空间图

我有mathematica代码来检查集合集是否满足拓扑的定义,我现在想以编程方式生成这样的图: 拓扑空间

如何才能做到这一点?

math graphics wolfram-mathematica

7
推荐指数
2
解决办法
568
查看次数

如何使用方案宏来显示评估树

count-change在SICP中修改了函数的代码,以便在函数recurses时显示一对.该对是形式"(cc a k)" -> "(cc a (- k 1))""(cc a k)" -> "(cc (- a (d k)) k)",我的目标是建立一个DOT文件,以使用GraphViz显示树递归.

这是一个示例图像,由以下代码生成: 在此输入图像描述

这是方案代码:

    ; Count Change

    (define (count-change amount)
      (cc amount 5))

    (define (cc amount kinds-of-coins)
      (begin
        (cond ((= amount 0) 1)
          ((or (< amount 0) (= kinds-of-coins 0)) 0)
          (else (+ 
             (begin 
               (display "\"")
               (display `(cc ,amount ,kinds-of-coins))
               (display "\"")
               (display " -> ")
               (display "\"")
               (display `(cc ,amount ,(- kinds-of-coins 1)))
               (display "\"")
               (display "\n") …
Run Code Online (Sandbox Code Playgroud)

scheme sicp graphviz

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

Git日志图显示每个分支的提交在一个地方

我在StackOverflow和Google中搜索但找不到确切的答案,所以我想问一个单独的问题.

通常我们可以通过git log获取提交图.我使用以下命令以一种奇特的方式查看提交图.

git log --graph --all --pretty=format:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
Run Code Online (Sandbox Code Playgroud)

我得到的图表如下:

命令结果

在日志图中,您可以看到所有分支的指针,但是无法查看最初在哪个分支中创建的提交.

但在Atlassian Fisheye中,日志图中的列显示了分支,而提交位于这些列中.您可以知道每个提交的分支.当您想要在合并和不同分支的提交期间跟踪问题时,这非常有用.

在此输入图像描述

有没有办法在命令行中有这样的日志图?是否可以像Fisheye一样用分支分隔图形线?如果无法在命令行中使用它,您是否知道任何具有"逐个分支"功能的客户端应用程序,如Fisheye所做的那样?

git graph git-log git-branch

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

显示与模式匹配的vim缓冲区

在vim中,我可以通过运行:buffers命令显示所有打开的缓冲区,但是,有时列表可能会变长,有没有办法将输出限制为仅匹配模式的文件名?

例如:

在此输入图像描述

我怎么只显示*.c文件?

regex vim

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

使用clang编译程序时,可以在gdb中扩展C宏吗?

我有一个宏,它获取整数的第J位:

#define TWO_TO_THE(POWER) (1 << POWER)

#define JTH_BIT(BITS, J)  ((TWO_TO_THE((J-1)) & BITS) != 0)
Run Code Online (Sandbox Code Playgroud)

但是,我不能通过发出命令从gdb中使用它,print JTH_BIT(i,j)在调试时是否可以使用C中的宏?

c gdb clang c-preprocessor

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

Haskell类型类的约束,用于定义组

我想出了一个Group的类型类定义,但是我找到了一个实际上并不是一个组的反例类型.

这是类定义和一个实例,即组ℤ2:

class Group g where
  iden :: g
  op :: g -> g -> g
  inv :: g -> g

data Z2T = Z0 | Z1

instance Group Z2T where
  iden = Z0
  Z0 `op` Z0 = Z0
  Z0 `op` Z1 = Z1
  Z1 `op` Z0 = Z1
  Z1 `op` Z1 = Z0
  inv Z0 = Z1
  inv Z1 = Z0
Run Code Online (Sandbox Code Playgroud)

但是,那些类型的签名Group是必要的,但不足以使一个类型真正成为一个组,这是我的反例编译:

data NotAGroup = N0 | N1

instance Group NotAGroup where
  iden = N0 …
Run Code Online (Sandbox Code Playgroud)

math haskell

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