我当前的Go代码中有一些部分看起来像这样:
i := int(math.Floor(float64(len(l)/4)))
Run Code Online (Sandbox Code Playgroud)
冗长似乎是必要的,因为一些函数类型签名,如一个math.Floor,但它可以简化?
Son*_*nia 13
一般来说,Go的严格输入会导致一些冗长的表达.但是,详细并不意味着口吃.类型转换可以做有用的事情,明确说明这些有用的东西是很有价值的.
简化的技巧是不编写不需要的类型转换,为此您需要参考语言定义等文档.
在您的特定情况下,您需要知道len()返回int,并且值> = 0.您需要知道4是一个常量,它将采用此表达式中的int类型,并且您需要知道整数除法将返回整数商,在这种情况下,它将是一个非负的int,实际上恰好是你想要的答案.
i := len(l)/4
Run Code Online (Sandbox Code Playgroud)
这个案子很简单.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |