我正在Kotlin上开发一个RESTful应用程序,对于路由器,我正在使用when语句,因为它是最易读和美观的条件语句。
有什么方法可以在字符串的when语句中使用Regex或通配符?
(这样,URI之类的“ / article / get /”将全部传递到同一控制器)
我的路由器的结构如下:
when(uri) {
"some/url" -> return SomeController(config).someAction(session)
}
Run Code Online (Sandbox Code Playgroud) 在阅读了一篇关于“Memorable Unique Identifiers”的文章并看到作者提到他们想尝试将示例Python代码重写为C以获得更好的性能后,我尝试将其重写为Rust,我对Rust版本的大幅提升感到非常惊讶比 Python 版本慢。
Python 3.10.9在配备和 的2021 M1 Pro MacBook Pro 上进行了测试nightly-aarch64-apple-darwin, rustc 1.69.0-nightly (07c993eba 2023-02-23)。
文章中的 Python 版本(对原文稍加编辑)
import json
import hashlib
import os
TARGET_DIFF = 8
prefixes = set()
with open("animals.json") as f:
f = json.load(f)
for key in f.keys():
if len(key) == TARGET_DIFF:
prefixes.add(key)
counter = 0
while counter < 10:
buf = os.urandom(16).hex()
h = hashlib.sha256(buf.encode("utf-8")).digest().hex()
if h[:TARGET_DIFF] in prefixes:
print(buf, h)
counter += 1
Run Code Online (Sandbox Code Playgroud)
这可以在大约 7 秒内找到 10 …