-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
91 lines (71 loc) · 1.73 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package main
import (
"database/sql"
"fmt"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
)
func main() {
relation_map := loadRelation()
r := setupRelation(relation_map)
r.Run(":8080")
}
func setupRelation(relation_map map[string]string) *gin.Engine {
fmt.Println("comes")
r := gin.Default()
for strong, weak := range relation_map {
fmt.Println("key: %s, value: %d\n", strong, weak)
}
r.GET("/janken/gu", func(c *gin.Context) {
c.String(200, "choki")
})
r.GET("/janken/choki", func(c *gin.Context) {
c.String(200, "pa")
})
r.GET("/janken/pa", func(c *gin.Context) {
c.String(200, "gu")
})
r.GET("/janken", func(c *gin.Context) {
c.String(200, "usage: /janken/[gu,choki,pa] to see relation")
})
return r
}
func loadRelation() map[string]string {
//sql.Open("mysql", "user:password@host/dbname")
db, err := sql.Open("mysql", "root:admin@tcp(localhost:63306)/janken")
if err != nil {
panic(err.Error())
}
defer db.Close()
rows, err := db.Query("SELECT * FROM janken_relation")
if err != nil {
fmt.Println("データベース接続失敗")
panic(err.Error())
} else {
fmt.Println("データベース接続成功")
}
defer rows.Close()
relation_map := make(map[string]string)
for rows.Next() {
var strong string
var weak string
err := rows.Scan(&strong, &weak)
if err != nil {
panic(err.Error())
}
fmt.Println(strong, weak)
relation_map[strong] = weak
}
err = rows.Err()
if err != nil {
panic(err.Error())
}
return relation_map
}
func setupRouter() *gin.Engine {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.String(200, "pong")
})
return r
}