mattn 1 month ago 気にしたくないのであれば、container/list というのはあります。 list package - container/list - Go PackagesPackage list implements a doubly linked list.
mattn 1 month ago まぁこのあたりは言語の設計者の意図があるでしょうね。 JS の設計者は arr.unshift(s) が実は O(n) である事を隠そうとした。いっぽうで Go の設計者は隠したくなかった。
mattn 1 month ago js では意識する必要なかった事が Go だと意識する必要があったりしますね。 例えば js でリストの先頭に足すのは arr.unshift(s) なんてやりますが、あれ実際には内部でリストを伸長して、全項目を1つずつ積みなおしてるんですよね。Go はそれを意識する必要があります。