小编Yua*_* Hu的帖子

如何在 Visual Studio Code 上运行 Scheme?

我想知道如何在 Visual Studio Code 上运行简单的 Scheme 代码。

我已经安装了一个名为 Scheme 的扩展,但是下一步是什么..

我没有找到有关如何运行代码或开发人员联系方式的扩展的任何详细信息...

lisp scheme visual-studio-code

10
推荐指数
2
解决办法
8862
查看次数

所有频道都陷入僵局

我正在尝试使用for循环,它不断地将字符串发送到不同goroutine读取的不同通道.然而,它给了我错误"所有goroutines都睡着了 - 死锁!" 为什么会这样?我搜索了一些答案,但我找不到这种情况的答案.

func main() {
    var chans []chan string

    for i := 0; i < 3; i++ {
        chans = append(chans, make(chan string))
    }

    for i := 0; i < 3; i++ {
        go sendString(chans[i])
    }

    for str := range chans[0] {
        fmt.Print(str)
    }
}

func sendString(ch chan string) {
    ch <- "a"
    ch <- "b"
    ch <- "c"
    ch <- "d"
}
Run Code Online (Sandbox Code Playgroud)

错误在这里.它打印"abcd",然后生成错误,如果我删除循环打印,程序不会生成错误.

abcdfatal error: all goroutines are asleep - deadlock!

 goroutine 1 [chan receive]:
main.main()
    C:/Users/YuanZheng …
Run Code Online (Sandbox Code Playgroud)

channel go

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

使用 BigDecimal 打印 Pi

我正在尝试使用 BigDecimal 来打印 Pi,但事实证明它不准确

    BigDecimal d = new BigDecimal(Math.PI); 
    System.out.println(d); 
Run Code Online (Sandbox Code Playgroud)

上面的答案给了我“3.141592653589793115997963468544185161590576171875”但“3.141592653589793”后面的数字不正确

这是怎么回事?我可以使用 bigdecimal 打印 PI 吗?

java pi bigdecimal

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

获取golang中指针数组的长度

我试图通过将该切片的指针传递给函数AppendVertex将顶点附加到顶点切片中,我知道如何通过使用len函数获取数组的长度,但是有没有办法获得长度指针数组?

type Vertex struct {
    X int
    Y int
}

func main() {
    var v []Vertex
    fmt.Println(len(v))
    appendVertex(&v)
    fmt.Println(len(v))

}

func appendVertex(v *[]Vertex) {

    *v = append(*v, Vertex{1, 1})

    fmt.Println(len(v))
}
Run Code Online (Sandbox Code Playgroud)

这个的结果是

prog.go:22:16: invalid argument v (type *[]Vertex) for len
Run Code Online (Sandbox Code Playgroud)

我还通过将指针传递给切片来做另一个版本,但是切片的大小没有改变,切片是不是参考类型结构?为什么这里的尺寸没有改变

type Vertex struct {
    X int
    Y int
}

func main() {
    var v []*Vertex
    fmt.Println(len(v))
    appendVertex(v)
    fmt.Println(len(v))

}

func appendVertex(v []*Vertex) {

    v = append(v, &Vertex{1, 1})

    fmt.Println(len(v))
}
?
Run Code Online (Sandbox Code Playgroud)

第二个结果是

0
1
0
Run Code Online (Sandbox Code Playgroud)

arrays pointers go

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

标签 统计

go ×2

arrays ×1

bigdecimal ×1

channel ×1

java ×1

lisp ×1

pi ×1

pointers ×1

scheme ×1

visual-studio-code ×1