冰岩作坊Task1-----go语言+gin框架+前后端“交流”

果然我还是应该写点东西记录些什么

前言

据mentor说Google是更优秀的学术平台(
以下内容为mentor所授,鸣谢

go语言

go语言,一个感觉起来包含了很多语言元素的语言,什么c的printf啊,Pascal的:=啊,Python的不加分号啊之类的(划
具体的切入从下载开始
学生党使用自己的edu.com可以白嫖toolbox的goland
冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第1张图片
学习网页

gin框架

在goland的terminal端输入go mod init xxx
这个xxx是你取的项目名字,比如logindemo之类的
go有一个自己的包管理,叫做go mod,他会帮你自动解析,导入包
输入刚才的命令之后,应该就会在文件列表见到一个go.mod
在这里插入图片描述
配置一下setting
冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第2张图片
goproxy是go自带的一个代理,用来快速导入国外网站的库

这个时候打开一个go文件,输入import “github.com/gin-gonic/gin”,发现这个是红色的,证明有错误。
鼠标移过去会有一个sync啥啥啥的,点他一下,下方应该会有一个process在跑,就是它在自动帮你导入这个包,它不红了,就导入完成,就可以直接用里面的东西了
如果它跑完了,你打开go.mod,会看到这个
在这里插入图片描述
就证明这个库已经被加进了当前的运行环境,就可以调里面的东西了

前后端“交流”

这里会有我的第一个前后端玩耍代码辣(
mentor推荐的学习网页
冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第3张图片

作为一个什么基础知识也没有的先放上科普
现代的web开发是前后端分离的,前端呢,就是你看到的界面,渲染,网页设计;后端更注重逻辑,数据库之类的东西。那么前后端之间会需要一种东西来进行信息传递和交互,这就是下面的那个东西,json
在这里插入图片描述
这句话就是处理一下读到的json,把它按照格式来解析,并且装进结构体里
冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第4张图片
格式就是这个样子
比如如果传递过来的json带有这个字段:
在这里插入图片描述
那么根据解析规则
在这里插入图片描述
他就会把roomType这个字段给解析出来,存进结构体的这个成员里
这样,你就向后台的服务器传递了一次信息,用json的方式

代码:

package main

import (
   "github.com/gin-gonic/gin"
   "log"
   "net/http"
)
type Creattest struct {
   Username string `json:"username"`
}

func main()  {
   text:=make(map[string]string)
   text["who"]="tql"
   text["sq"]="tcl"

   r:=gin.Default()
   r.POST("/",func(c *gin.Context){
      var st Creattest
      err:=c.BindJSON(&st)
      if (err!=nil){log.Fatal(err)}
      wa, ok := text[st.Username]
      if ok {
         c.JSON(http.StatusOK,gin.H{"ans":wa})
      } else {
         c.JSON(http.StatusOK,gin.H{"error":"not found"})
      }
   })
   r.Run(":8000");
}

写好了之后,下一个叫做postman的东西进行测试
在这里插入图片描述
配置的时候tasks点全点上(

冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第5张图片
弄成这样然后点send(当然,你本地的.go也需要先run

冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第6张图片
由于这两条语句,会给前端反应出相应的结果
冰岩作坊Task1-----go语言+gin框架+前后端“交流”_第7张图片

此时,我们就完成了一次前后端交流

你可能感兴趣的:(学习笔记)