Golangのinterface自分用覚え書き
Goでinterfaceを少しだけ使ってみたのでそれの覚え書き
Goのinterfaceはメソッドリストでこれをすべて実装していればいいらしいです。他にもfunc f(args ...interface{})のように、任意の型を引数に取るための使われるinterface{}というのもある。こっちは他にも使い方ありそうだし全然調べてないので割愛。
最初に言ったのを少し書いてみたのが下のコード
NeovimでGo言語を快適に書きたい
最近Go言語を触り始めました。最初はvscodeとかatomを試してたんですけどなんかしっくりこなかったのでvimを使おうと思った。 でもvimも完全に「画面分割ができるメモ帳」のような使い方をしていたので、どうせならとneovimに移行した。移行というのも怪しいが。
Neovimを入れる
導入からinit.vimとかdein、deopleteなどのプラグインの設定はこちらを参考にしました。
Go用のプラグインを入れる
GitHub - fatih/vim-go: Go development plugin for Vim
GitHub - zchee/deoplete-go: deoplete.nvim source for Go
とか入れると良さそうだったのでこの2つを入れた。 下のようにgo.tomlとか作って{lazy : 1}で読み込んだ。 間違ってなければ多分これでgoファイルじゃないときはプラグインは読み込まれない。
#go.toml [[plugins]] repo = 'fatih/vim-go' on_ft = 'go' [[plugins]] repo = 'zchee/deoplete-go' build = 'make' on_ft = 'go' depends = ['deoplete.nvim'] hook_source = ''' let g:deoplete#sources#go#gocode_binary = $GOPATH . '/bin/gocode' '''
あと、deoplete-goのREADMEにも書いてあったけどgocode_binaryでgocodeのバイナリーのパスを設定しなければならなと動かない。なんでかわからないけど見落としてて最初「なんで動かんの……」って焦ってた。
go get -u github.com/nsf/gocode
まとめ
まだまだ使い始めたばかりですが、:wするだけでgo fmtを走らせてくれたりtestするとQuickfixリストを出してくれたり、とてもいいです。
だだすくりぷと
某大盛りラーメン屋のインスパイア系ラーメン屋である田田という店が八王子にある。
ここは僕が通っている大学のポケサーを筆頭に、他体型がふくよかな方に人気で、特にトッピングの仕方が特徴的で「ニンニク入れますか?」と聞かれたら「ヤサイアブラ」や「ニンニクマシカラメ」などの呪文を唱えなければならない。
そこで思った。この""ヤサイ""を""マス""というのはBrainF**kのポインターをインクリメントするのとほぼ同じではないか?
マシ == pointer++
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
書いた。
BrainF**kの解説はいっぱいあるのでコードとハローワールドだけ
Brainfuckのインタプリタ
なにかのアドベントカレンダー24日目
嘘です。Spring bootとかGo言語の記事は書きません。最近fuckしか言ってないんでBrainfuckについて書こうと思います。
Brainfuckの仕様はwikipediaとかに書いてますが一応書いておきます。
- ">" ポインタをインクリメントする
- ”<” ポインタをデクリメントする
- ”+” ポインタが指す値をインクリメントする
- ”-” ポインタが指す値をデクリメントする
- "." ポインタが指す値を出力する
- ”,” 入力から1byte読み込んで、ポインタが指す先に代入する
- "[" ポインタが指す値が0なら、対応する"]"の直後にジャンプする
- "]" ポインタが指す値が0でないなら、対応する"["にジャンプする
以上です。シンプルですね。以下がC++で実装したコードです。その下がBrainfuckでのHello world!です。
gist29eaacfdaafc11764e18fc18136d8b8c
これを実行して
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.------------.<++++++++.--------.+++.------.--------.>+.
を入力すると
Hello, world!
と出力されます。
解説
なし。感じてください。
それでは皆さんもどんどん脳を犯していってください。
このアドベントカレンダーの最後はかったーさんです。
ブログ
なんか書こうと思います。