小编Men*_*Wei的帖子

如何在没有科学记数法的情况下在Golang中将float打印为字符串

假设我有一个包含2个项目的数组,其类型为string/float.如何在没有浮动项目的科学记号的情况下将它们打印在一起.

例如:

package main

import (
    "fmt"
)

func main() {
    values := []interface{}{"mydata", 1234567890.123}
    for _, v := range values{
        fmt.Printf("%v\n", v)
    }
}
Run Code Online (Sandbox Code Playgroud)

输出将是

MYDATA

1.234567890123e + 09

我想要的是

MYDATA

1234567890.123

go

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

如何在 Go 中模拟将结果写入其参数的函数

我正在通过https://github.com/stretchr/testify在 golang 中编写单元测试 假设我有下面的方法,

func DoSomething(result interface{}) error {
    // write some data to result
    return nil
}
Run Code Online (Sandbox Code Playgroud)

所以调用者可以调用DoSomething如下

result := &SomeStruct{}
err := DoSomething(result)

if err != nil {
  fmt.Println(err)
} else {
  fmt.Println("The result is", result)
}
Run Code Online (Sandbox Code Playgroud)

现在我知道如何使用testify或其他一些模拟工具来模拟返回值(它在err这里)

mockObj.On("DoSomething", mock.Anything).Return(errors.New("mock error"))
Run Code Online (Sandbox Code Playgroud)

我的问题是result在这种情况下“我如何嘲笑论点”?

由于result不是返回值而是参数,调用者通过传递一个结构体的指针来调用它,然后函数修改它。

unit-testing mocking go

9
推荐指数
2
解决办法
5332
查看次数

标签 统计

go ×2

mocking ×1

unit-testing ×1