文件名称:golang-challenge-1:Go Challenge #1 的解决方案(在 Go 和 Elixir 中)
文件大小:14KB
文件格式:ZIP
更新时间:2024-07-09 20:09:06
Go
去挑战 1 我提交的 。 对 Matt Aimonetti 的支持,这是一个非常有趣的代码挑战,尤其是逆向工程的东西是一个爆炸。 我通常不会在 GitHub 上发布我的此类练习代码,但由于这个练习非常有趣,我想鼓励其他人尝试一下,所以也许这会指向更多人。 与其他语言的比较 也就是说,在完成挑战的中途,我觉得 Go 不是实现这个特定问题的理想语言(对我来说),因为我发现自己真的很想获得强大的模式匹配支持。 所以我还在 Elixir 中实现了一个快速版本以进行比较,如果有人好奇,可以将其包含在二级目录中。 我认为差异相当大,特别是 Go 版本的可读性受到必须手动实现错误冒泡的影响,并且缺乏模式匹配使得某些解析操作需要额外的步骤,并在其间使用条件逻辑。 (也就是说,假设您当然了解模式匹配和函数式编程,否则 Elixir 版本在您看来可能要奇怪得多。)就我个人而言,这绝对更容易编写。 也
【文件预览】:
golang-challenge-1-master
----splice.grammar(3KB)
----drum-machine-ex()
--------mix.exs(597B)
--------lib()
--------config()
--------test()
--------.gitignore(34B)
----drum-machine-go()
--------decoder_test.go(2KB)
--------decoder.go(6KB)
--------drum_test.go(883B)
--------fixtures()
--------drum.go(2KB)
----README.md(2KB)