我试图在 ts 中创建一个笑话测试,结果应该等于 0。这似乎在 -0 上失败。
test("zero equals fails", () => {
const actual = -0
const expected = 0
// expect(actual).toBe(expected)
// expect(actual).toStrictEqual(expected)
// expect(actual).toEqual(expected)
})
Run Code Online (Sandbox Code Playgroud)
给出:
Expected: 0
Received: -0
Run Code Online (Sandbox Code Playgroud)
即使我的控制台中的 equals 检查说它们相等。
0 == -0
true
0 === -0
true
Run Code Online (Sandbox Code Playgroud)
在这种情况下我应该使用什么断言比较?
与服务器端代码的幂等性或它的必要性有关的问题。一般用于 gRPC,或专门用于 java 实现。
是否有可能,当我们发送消息一旦从客户端,它是处理两次通过我们的服务实现?也许这与服务似乎不可用时的重试有关;或者可以通过某种策略进行配置?
什么是用于选择运营商的理由!/ &&/ ||在not/ and/ or?背后有一些历史,还是只是偏好?
我有一些想法:
Rust遵循C/C++.但是,在for-each循环的情况下,使用的是更像英语的版本for x in X而不是C++ for (x: X),所以Rust不仅盲目地遵循C/C++的所有内容.
符号更短.两者之间的字符数似乎相似.
由于与类型规范的冲突,语法必须不同.也有区别a as u8而不是(u8)a.
由于Rust是一种新语言,我认为他们可以选择符号或单词而不会出问题.Rust选择符号而非文字的原因是什么?为什么不同时选择?