2026.07.11(土) / 18:37
【Go】買い物リスト作成アプリ
- ID
- 39922
- Published
- 2026-07-11 18:37
- Modified
- 2026-07-11 18:44
- Author
- khiro
- Categories
- デフォルト
Renderで公開しています(待ち時間が発生します)
機能
追加

取り消し線

削除
↓ ゴミ箱ボタンを押した後の状態

作成開始
5月23日(土) 14:27、求人で見かけるGoに触れてみたいと思い、ChatGPTに相談した
goの勉強をしたい goで買い物リスト作成アプリを作るとどうなりますか?

一度作ってみて、ブラウザで実行したいです

main.goを作成した
package main
import (
"fmt"
"net/http"
)
var items []string
func main() {
http.HandleFunc("/", showList)
http.HandleFunc("/add", addItem)
fmt.Println("http://localhost:8080 で起動中")
http.ListenAndServe(":8080", nil)
}
func showList(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, `
<h1>買い物リスト</h1>
<form action="/add" method="POST">
<input name="item" placeholder="商品名を入力">
<button type="submit">追加</button>
</form>
<ul>
`)
for _, item := range items {
fmt.Fprintf(w, "<li>%s</li>", item)
}
fmt.Fprint(w, `
</ul>
`)
}
func addItem(w http.ResponseWriter, r *http.Request) {
item := r.FormValue("item")
if item != "" {
items = append(items, item)
}
http.Redirect(w, r, "/", http.StatusSeeOther)
}
実行
goコマンドがない?
hiroki@shibatahiroshitakanoiMac go % go run main.go
zsh: command not found: go

goをインストール
brew --version
で、Homebrewが入っていることを確認して、
brew install go
で、Goをインストールした
main.goを起動した
そして、
go run main.go
で、main.goを起動した
hiroki@shibatahiroshitakanoiMac go % go run main.go
http://localhost:8080 で起動中
main.goの起動後の様子

localhost:8080にアクセスすると、商品を追加できる画面が表示される
商品名を入力して、追加を押すと追加された商品が下に表示される
GitHubとブログ
GitHub
5月24日(日)、GitHubに最初のコミットを行った
https://github.com/ki-hi-ro/go/commit/113024692e40d7c349836416080977a56316bb81
ブログ
ブログ記事を執筆した
デプロイとレスポンシブ対応
デプロイ
5月31日(土)、Renderを使用して、デプロイした
https://github.com/ki-hi-ro/go/commit/c1b65d3f554b8c850a9fd5cad85406c4bbd3fa42
レスポンシブ対応
スマホでも見やすいように、レスポンシブ対応を行った
https://github.com/ki-hi-ro/go/commit/deba5bc2fae99dacc9c5b6062f95d59db86161ec
運用後の改善
取り消し線
項目にチェックを入れたら取り消し線が出るようにした

https://github.com/ki-hi-ro/go/commit/037e4d098cbf20e81171a30e7c768f060b6dfb03
項目自体を削除
ゴミ箱ボタンを押すと、項目が削除されるようにした

https://github.com/ki-hi-ro/go/commit/998b5c5417f6b2dd9fae96ab93d06698bcaf0c2b