假设我有一个包含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
我正在通过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不是返回值而是参数,调用者通过传递一个结构体的指针来调用它,然后函数修改它。