Go rewrite
This commit is contained in:
commit
8d4cc6439a
30
.gitignore
vendored
Normal file
30
.gitignore
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
||||
*.o
|
||||
*.a
|
||||
*.so
|
||||
|
||||
# Folders
|
||||
_obj
|
||||
_test
|
||||
|
||||
# Architecture specific extensions/prefixes
|
||||
*.[568vq]
|
||||
[568vq].out
|
||||
|
||||
*.cgo1.go
|
||||
*.cgo2.c
|
||||
_cgo_defun.c
|
||||
_cgo_gotypes.go
|
||||
_cgo_export.*
|
||||
|
||||
_testmain.go
|
||||
|
||||
*.exe
|
||||
*.test
|
||||
*.prof
|
||||
|
||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||
*.out
|
||||
|
||||
# external packages folder
|
||||
vendor/
|
15
src/Anime.go
Normal file
15
src/Anime.go
Normal file
@ -0,0 +1,15 @@
|
||||
package main
|
||||
|
||||
// Anime ...
|
||||
type Anime struct {
|
||||
ID int `as:"id"`
|
||||
Title AnimeTitle `as:"title"`
|
||||
Description string `as:"description"`
|
||||
}
|
||||
|
||||
// AnimeTitle ...
|
||||
type AnimeTitle struct {
|
||||
Romaji string `as:"romaji"`
|
||||
English string `as:"english"`
|
||||
Japanese string `as:"japanese"`
|
||||
}
|
19
src/Database.go
Normal file
19
src/Database.go
Normal file
@ -0,0 +1,19 @@
|
||||
package main
|
||||
|
||||
import as "github.com/aerospike/aerospike-client-go"
|
||||
|
||||
// Client ...
|
||||
var client *as.Client
|
||||
|
||||
// InitDatabase ...
|
||||
func InitDatabase() {
|
||||
client, _ = as.NewClient("127.0.0.1", 3000)
|
||||
}
|
||||
|
||||
// GetAnime ...
|
||||
func GetAnime(id int) *Anime {
|
||||
key, _ := as.NewKey("arn", "Anime", id)
|
||||
anime := new(Anime)
|
||||
client.GetObject(nil, key, anime)
|
||||
return anime
|
||||
}
|
6
src/User.go
Normal file
6
src/User.go
Normal file
@ -0,0 +1,6 @@
|
||||
package main
|
||||
|
||||
// User ...
|
||||
type User struct {
|
||||
ID int
|
||||
}
|
29
src/main.go
Normal file
29
src/main.go
Normal file
@ -0,0 +1,29 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
web "github.com/kataras/iris"
|
||||
)
|
||||
|
||||
func main() {
|
||||
InitDatabase()
|
||||
|
||||
web.Get("/", func(ctx *web.Context) {
|
||||
ctx.Response.Header.Set("Content-Type", "text/html;charset=utf-8")
|
||||
ctx.Write(ctx.Request.URI().String())
|
||||
})
|
||||
|
||||
web.Get("/anime/:id", func(ctx *web.Context) {
|
||||
start := time.Now()
|
||||
id, _ := ctx.ParamInt("id")
|
||||
anime := GetAnime(id)
|
||||
|
||||
ctx.Write(anime.Title.Romaji + "\n")
|
||||
ctx.Write(anime.Description)
|
||||
fmt.Println(time.Since(start))
|
||||
})
|
||||
|
||||
web.Listen(":8082")
|
||||
}
|
Loading…
Reference in New Issue
Block a user