goで買い物リスト作成アプリを作成した

はじめに

goに興味があったので、チャッピーに相談してアプリを作ってもらった

どんなアプリか

localhost:8080にアクセスすると、商品を追加できる画面が表示される

商品名を入力して、追加を押すと追加された商品が下に表示される

作成過程

ソースコード

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)
}

ターミナルで起動

hiroki@shibatahiroshitakanoiMac go % go run main.go
http://localhost:8080 で起動中

githubにアップしました

https://github.com/ki-hi-ro/go

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です