Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
goto文 goto文といえばどこにでも飛べるという圧倒的自由度を誇る分、 文の流れを追いづらくなるといった可読性の問題等から基本的に使うべきでなく、 使った方が見やすい場合でも代替の方法があるならそちらを使うべきといったイメージがありました。 おそらく大半のプログラマもそんな感じだと思います。 しかしモダンでイケイケなことで定評のあるgolangにおいてもgoto文がサポートされています。 統一しただけとはいえ、while文すら捨てた新進気鋭のgolangが、 30未満という洗練された予約語の中にgoto文を残したわけです。 もちろん言語界隈はgo繋がりというだけで採用されるコネ社会ではありません。 goto文=悪というプロパガンダを刷り込まれた我々雛鳥世代が黙っているはずはありません。 ピーチクパーチク騒ぐに違いないことは歴史が証明しています。 Effective Go的なドキュメント
Goで文字列の中の特定の文字列をカウントする(strings.Count) 使い方 Count counts the number of non-overlapping instances of substr in s. If substr is an empty string, Count returns 1 + the number of Unicode code points in s. 引用元: strings - The Go Programming Language 引数 第1引数:カウント対象が含まれている全体の文字列 第2引数:カウント対象の文字列(これが何個第1引数の文字列の中に入っているかをカウントする) Countは、第1引数の文字列の中の第2引数の文字列の重複しない数を返す。 第2引数が空文字の場合、Countは1 + 第2引数の文字列のUnicode code p
テストスイート,テストファイルを作っただけでは,パッケージのテストができませんので,パッケージ本体(この記事ではPerson)を作ります パッケージPersonの確認 以下のようなパッケージPersonを作ることを考えます 構造体Personを持つ 構造体Personは,string型のフィールドnameを持つ フィールドnameに関するSetterとGetterである以下のメソッドを持つ SetName(string): フィールドnameをセットする GetName() (string, error): nameを読み出す.nameがセットされていない場合はエラー"Name is not set"が返る テストファーストの考え方から,テストからまず作ります Person_test.goの実装 ginkgo generateで作られたPerson_test.goは雛形で,中身がありません
はじめに Golangでエラーの種類によって処理を変えたい際にどういった方法があるか調べてみました。 と言うのもGolangにはtry-catchがサポートされていません。 なのでGolangでJavaのtry-catchの様な機能をどう実現できるか調べようとした事がこの記事を書いた発端です。 記事の全体概要についてです。 ・まず最初に、errorパッケージのよく使う4つの機能について説明します。 ・次に、エラーの種類によって処理を変えるために考えられる3つの方法を順に試していきます。 ・そしてエラーの種類によって処理を分けるBESTな方法の結論。 といった順序で進めていきます。 ※結論だけ知りたい人は最後の方法3をみてください。 errors packageのよく使う4つの機能 標準のエラーパッケージだと以下の機能がありません。 最初に起きたエラーの種類の判別 スタックトレースの情報を取
はじめに 普段自分はmotemenさんのghqを使ってリポジトリを管理しています. これを用いた場合,通常は~/.ghq以下の適当な位置にリポジトリが配置されます. ところで最近,go言語に手を出したのですが,はじめに$GOPATHを~/.goと設定して作業し始めました. しかしこの場合,ghq getしたリポジトリが$GOPATH/src以下に配置されないことから,importやdepを使う際にエラーが生じました. そのとき,この問題について検索すると様々な解決方法がヒットし,どの方法が最適解なのかわからずややハマってしまいました. そこで今回はgo言語のリポジトリを扱う上でどの方法が良いのかまとめてみようと思います. ghqを活用する上でgo言語のリポジトリをどのように扱うか 方法1 $GOPATHを複数設定する まずは$GOPATHが設定されていないことが問題なのでそれを設定すること
はじめに Emacsの初心者であるが、設定ファイルをいじるのは好き 最近、Emacsの設定ファイルを整理しているのだが、色々ありすぎてどのパッケージを利用すればいいのか迷った いつも通りすごい人の設定ファイルで利用しているパッケージを調査し、参考にさせてもらう 今回は、syohexさんのdotfileで利用しているパッケージを勝手に調査する https://github.com/syohex/dot_files/tree/b4faf89cec1f206b508b37db5cd59a1e23953051/emacs 数が多いので、割愛している部分も多い自分が利用している言語のみを調査する ■ Setup cl-lib Emacs LispでCommon Lispの強力な関数やマクロを利用できるようにするパッケージ 昔はcl.elだったが現在は整理され、cl.elは非推奨で、cl-lib.el
;; Goのパスを通す (add-to-list 'exec-path (expand-file-name "/usr/local/go/bin/")) ;; go get で入れたツールのパスを通す (add-to-list 'exec-path (expand-file-name "/Users/user/dev/go/bin/")) ;; flycheck-modeを有効化してシンタックスエラーを検知 (add-hook 'go-mode-hook 'flycheck-mode) (add-hook 'go-mode-hook (lambda() (add-hook 'before-save-hook' 'gofmt-before-save) (local-set-key (kbd "M-.") 'godef-jump) (set (make-local-variable 'comp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く