go语言web开发: 2先写一个helloword敬前辈们和码农兄弟们

先来个最简单的:

main.go

package main

import (
	"github.com/savsgio/atreugo"
)

func main() {
	config := atreugo.Config{
		Addr: "0.0.0.0:8000",
	}
	server := atreugo.New(config)

	server.GET("/", func(ctx *atreugo.RequestCtx) error {
		return ctx.TextResponse("Hello World")
	})

	if err := server.ListenAndServe(); err != nil {
		panic(err)
	}
}

这个是官方的例子

执行命令:

go run main.go

控制台输出:

2020/04/20 14:29:38 - atreugo - INFO - Listening on: http://0.0.0.0:8000/

表示执行成功, 浏览器输入: localhost:8000

得到结果

-------------------------

接下来我们传入get参数:

	server.GET("/", func(ctx *atreugo.RequestCtx) error {
		username := string(ctx.FormValue("username"))
		if username != "" {
			return ctx.TextResponse("Hello " + username + "!")
		} else {
			return ctx.TextResponse("Hello World!")
		}
	})

http://192.168.56.40:8000/?username=daxia

-----------------

接下来集成模板, 输出html

server.GET("/", func(ctx *atreugo.RequestCtx) error {
		t, err := template.ParseFiles("./template/index.html")
		if err != nil {
			log.Fatal("Parse file template error:", err)
		}
		data := Data{Username: string(ctx.FormValue("username"))}
		buf := new(bytes.Buffer)
		err = t.Execute(buf, data)
		if err != nil {
			log.Fatal("Execute file template error:", err)
		}

		return ctx.HTTPResponse(buf.String())
	})

./template/index.html

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>hello测试</title>
</head>
<body>
你好, {{ .Username }}!

结束!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值