Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Goではじめるバックエンド開発

ak2ie
June 17, 2023

 Goではじめるバックエンド開発

2023/06/17「【Developers Guild】バックエンドエンジニア交流会」での発表資料です

ak2ie

June 17, 2023
Tweet

More Decks by ak2ie

Other Decks in Technology

Transcript

  1. Go!

  2. Goの特徴 • 静的型付き言語 • シンプルな構文(ループはfor文のみ) • 標準ライブラリが充実 ◦ HTTPリクエスト処理 ◦

    DB操作 ◦ テスト • Goを初めて学ぶ方は「プログラミング言語 Go完全入門」がおすすめ http://tenn.in/go
  3. HTTPサーバー • 標準ライブラリでHTTPリクエスト を処理できる • http://localhost:8080/hello で”hello world!”を返す package main

    import ( "net/http" ) type Handler struct{} func Hello(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello world!")) } func main() { http.HandleFunc("/hello", Hello) http.ListenAndServe(":8080", nil) } 処理 ルーター
  4. テスト • 標準ライブラリでテストを実 行できる • テスト関数 ◦ _test.goで終わる ◦ Testから始まる

    ◦ *testing.Tが引数 // main_test.go package main import ( "net/http" "net/http/httptest" "testing" ) func TestHello(t *testing.T) { r := httptest.NewRequest(http.MethodGet, "/hello", nil) w := httptest.NewRecorder() Hello(w, r) if w.Body.String() != "hello world!" { t.Errorf("result should be \"hello world!\", but %s", w.Body.String()) } } 検証 処理