小编Sun*_*dar的帖子

什么```的意思是去

我想安装 gb

安装步骤说执行命令:

go get github.com/constabulary/gb/...

...这种情况下的意思是什么?

go

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

Golang运算符重载

据我所知,golang不提供运算符重载,因为它认为它增加了复杂性.

所以我想直接为结构实现它.

package main

import "fmt"

type A struct {
    value1 int
    value2 int
}

func (a A) AddValue(v A) A {
    a.value1 += v.value1
    a.value2 += v.value2
    return a
}


func main() {
    x, z := A{1, 2}, A{1, 2}
    y := A{3, 4}

    x = x.AddValue(y)

    z.value1 += y.value1
    z.value2 += y.value2

    fmt.Println(x)
    fmt.Println(z)
}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/1U8omyF8-V

从上面的代码中,AddValue按我的意愿工作.但是,我唯一担心的是它是一个值传递,因此我必须每次都返回新增加的值.

还有其他更好的方法,以避免返回总结变量.

methods struct operator-overloading go

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

Golang浮点运算

Go 中的浮点运算是如何工作的

游乐场链接

package main

import "fmt"

func main() {
    j := 1.021
    fmt.Println(j)
    k := j*1000
    fmt.Println(k)
    l := int(k)
    fmt.Println(l)
}

Output:
1.021
1020.9999999999999
1020
Run Code Online (Sandbox Code Playgroud)

我原本以为会1021被打印出来,但我得到了1020

floating-point floating-accuracy go

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