当前位置: 首页 > article >正文

【Go原生】项目入口配置及路由配置写法

项目入口配置

package main
import (
	"net/http";
	"log";
	"encoding/json";
	"text/template";
	"os";
)

type IndexData struct {
	// 定义结构体的字段
	// 字段名首字母必须大写,即Title是供访问的字段名,title是结构体的字段名,即返回给前端的字段名
	Title string `json:"title"`
	Desc string `json:"desc"`
}

// 定义一个处理函数,处理请求
func Index(w http.ResponseWriter, r *http.Request) {
	// 定义向客户端返回数据类型
	w.Header().Set("Content-Type", "application/json")
	var data IndexData
	data.Title = "你好,青年人!"
	data.Desc = "记得朝气蓬勃,努力奋斗!"
	jsonStr, _ := json.Marshal(data)
	w.Write(jsonStr)
}

// 定义一个处理html页面的函数
func IndexHtml(w http.ResponseWriter, r *http.Request) {
	var data IndexData
	data.Title = "你好,青年人!"
	data.Desc = "记得朝气蓬勃,努力奋斗!"
	// 定义html模板
	t := template.New("index.html")
	// 解析模板文件
	// 拿到文件的路径,并解析模板文件
	path, _ := os.Getwd()
	t,_ = t.ParseFiles(path + "/template/index.html")
	t.Execute(w, data)
}

func main() {
	// 程序入口,一个项目只能有一个入口,即一个main函数
	// Web程序,http协议,ip,port
	// 定义server的结构体
	server := http.Server{
		Addr: "127.0.0.1:8080",
	}
	// 设置路由
	http.HandleFunc("/", Index)
	http.HandleFunc("/index", IndexHtml)
	// 启动server
	if err := server.ListenAndServe(); err!= nil{
		log.Println(err)
	}
}

启动项目命令

go run main.go

前端template

<!DOCTYPE html>
<html>
<head>
	<title>Title</title>
</head>
<body>
	<h1>你好,Go语言</h1>
	<p>拒绝拖延症,从你我做起!</p>

    {{.Title}}
    <br />
    {{.Desc}}
</body>
</html>

页面效果


http://www.kler.cn/a/570054.html

相关文章:

  • QEMU源码全解析 —— 内存虚拟化(24)
  • 华为飞腾D2000芯片(基于ARM架构)的欧拉操作系统(openEuler)上部署MySQL
  • springboot gradle 多项目创建
  • Python----线性代数(线性代数基础:标量,向量,矩阵,张量)
  • 【每日学点HarmonyOS Next知识】web内存异常问题、Web高度问题、图片按压效果、加载沙盒中html、感知路由返回传参
  • IP-----BGP协议
  • Ai-web 1.0靶场通关攻略
  • [特殊字符] Django 常用命令
  • MySql面试总结(二)
  • WireGuard搭建网络,供整个公司使用
  • 基于 RK3568 / IMX6ULL / STM32MP157 的智能车载系统
  • 基于YALMIP和cplex工具箱的IEEE33微电网故障处理电网重构matlab模拟与仿真
  • OceanBase接入DeepSeek,AI落地改写行业规则
  • 指针的进阶(提高篇)
  • 11.字符函数和字符串函数
  • js的简单介绍
  • 算法-回溯篇03-电话号码的字母组合
  • codewave初识
  • 一文讲清楚 MySQL 事务隔离级别和实现原理
  • Linux查看TP6 command定时任务并重启