做社交网站用什么语言百度制作的wordpress工具栏

bicheng/2026/1/18 20:23:58/文章来源:
做社交网站用什么语言,百度制作的wordpress工具栏,旅游网站有哪些,徐州做网站公司作为一个真正能用的企业级应用#xff0c;怎么能缺少RESTful接口呢#xff1f;所以我们需要尝试在Go语言环境中写出我们的对外接口#xff0c;这样前端就可以借由Gin框架访问我们数据库中的数据了。 一、Gin框架的使用 1. 安装 Gin 首先#xff0c;你需要在你的 Go 项目…作为一个真正能用的企业级应用怎么能缺少RESTful接口呢所以我们需要尝试在Go语言环境中写出我们的对外接口这样前端就可以借由Gin框架访问我们数据库中的数据了。 一、Gin框架的使用 1. 安装 Gin 首先你需要在你的 Go 项目中安装 Gin 框架。可以使用 go get 命令来安装如果你使用了GoLand作为IDE直接照着提示引入即可 go get -u github.com/gin-gonic/gin2. 创建一个简单的 Gin 应用 package mainimport (github.com/gin-gonic/ginnet/http )func main() {// 创建一个默认的路由引擎r : gin.Default()// 定义一个 GET 请求的路由r.GET(/, func(c *gin.Context) {c.String(http.StatusOK, Hello, World!)})// 运行服务器默认监听在 0.0.0.0:8080r.Run() }3. 路由定义 Gin 支持多种 HTTP 方法如 GET、POST、PUT、DELETE 等。以下是一些基本的路由定义示例 r.GET(/someGet, getting) r.POST(/somePost, posting) r.PUT(/somePut, putting) r.DELETE(/someDelete, deleting) r.PATCH(/somePatch, patching) r.HEAD(/someHead, head) r.OPTIONS(/someOptions, options)类比于Java相当于设置了GetMapping、PostMapping。 4. 路由参数 Gin 支持路径参数和查询参数。 路径参数 r.GET(/user/:name, func(c *gin.Context) {name : c.Param(name)c.String(http.StatusOK, Hello %s, name) })查询参数 r.GET(/welcome, func(c *gin.Context) {firstname : c.DefaultQuery(firstname, Guest)lastname : c.Query(lastname) // 等同于 c.Request.URL.Query().Get(lastname)c.String(http.StatusOK, Hello %s %s, firstname, lastname) })5. 处理表单数据 Gin 可以轻松处理表单数据。 r.POST(/form_post, func(c *gin.Context) {message : c.PostForm(message)nick : c.DefaultPostForm(nick, anonymous)c.JSON(200, gin.H{status: posted,message: message,nick: nick,}) })6. 处理 JSON 数据 Gin 可以轻松处理 JSON 请求和响应。 r.POST(/json, func(c *gin.Context) {var json struct {Name string json:name binding:requiredAge int json:age binding:required}if c.BindJSON(json) nil {c.JSON(http.StatusOK, gin.H{name: json.Name,age: json.Age,})} else {c.JSON(http.StatusBadRequest, gin.H{error: 请求的JSON有误})} })7. 中间件 Gin 支持中间件可以在请求处理之前或之后执行一些操作放在Java里就相当于AspectJ作为AOP层来实现切面编程。 func Logger() gin.HandlerFunc {return func(c *gin.Context) {t : time.Now()// 设置 example 变量c.Set(example, 12345)// 请求前c.Next()// 请求后latency : time.Since(t)log.Print(latency)// 访问发送的 statusstatus : c.Writer.Status()log.Println(status)} }func main() {r : gin.New()r.Use(Logger())r.GET(/test, func(c *gin.Context) {example : c.MustGet(example).(string)// 打印12345log.Println(example)})// 监听并在 0.0.0.0:8080 上启动服务r.Run(:8080) }8. 静态文件服务 Gin 可以轻松地提供静态文件服务。 r.Static(/assets, ./assets) r.StaticFS(/more_static, http.Dir(my_file_system)) r.StaticFile(/favicon.ico, ./resources/favicon.ico)9. 分组路由 Gin 支持路由分组可以更好地组织和管理路由。 v1 : r.Group(/v1) {v1.POST(/login, loginEndpoint)v1.POST(/submit, submitEndpoint)v1.POST(/read, readEndpoint) }v2 : r.Group(/v2) {v2.POST(/login, loginEndpoint)v2.POST(/submit, submitEndpoint)v2.POST(/read, readEndpoint) }10. 错误处理 Gin 提供了方便的错误处理机制。 r.GET(/panic, func(c *gin.Context) {panic(啊哦出错了) })r.Use(gin.Recovery())11. 自定义 HTTP 配置 你可以自定义 HTTP 服务器配置。 s : http.Server{Addr: :8080,Handler: r,ReadTimeout: 10 * time.Second,WriteTimeout: 10 * time.Second,MaxHeaderBytes: 1 20, } s.ListenAndServe()12. 使用模板引擎 Gin 支持模板引擎来渲染 HTML 页面。 r.LoadHTMLGlob(templates/*)r.GET(/index, func(c *gin.Context) {c.HTML(http.StatusOK, index.tmpl, gin.H{title: Main website,}) })Gin本身没有模板引擎它用的是Go自带的标准库html/template和text/template下面是一个模板文件的例子 !DOCTYPE html html langen headmeta charsetUTF-8title{{ .title }}/title /head bodyh1{{ .title }}/h1p欢迎光临我的网站/p /body /html下面我单独开一章详细介绍一下模板如何编写 13. 使用 Session Gin 本身不提供 Session 管理但你可以使用第三方库如 gin-contrib/sessions。 go get github.com/gin-contrib/sessionsimport (github.com/gin-contrib/sessionsgithub.com/gin-contrib/sessions/cookiegithub.com/gin-gonic/gin )func main() {r : gin.Default()store : cookie.NewStore([]byte(secret))r.Use(sessions.Sessions(mysession, store))r.GET(/incr, func(c *gin.Context) {session : sessions.Default(c)var count intv : session.Get(count)if v nil {count 0} else {count v.(int)count}session.Set(count, count)session.Save()c.JSON(200, gin.H{count: count})})r.Run(:8000) }14. 使用 WebSocket Gin 可以与 WebSocket 结合使用。 import (github.com/gin-gonic/gingithub.com/gorilla/websocketnet/http )var upgrader websocket.Upgrader{CheckOrigin: func(r *http.Request) bool {return true}, }func websocketHandler(c *gin.Context) {conn, err : upgrader.Upgrade(c.Writer, c.Request, nil)if err ! nil {return}defer conn.Close()for {mt, message, err : conn.ReadMessage()if err ! nil {break}err conn.WriteMessage(mt, message)if err ! nil {break}} }func main() {r : gin.Default()r.GET(/ws, websocketHandler)r.Run(:8080) }二、模板引擎的使用 刚才我们提到了模板引擎一般来说对于需要进行SEO优化的网站才会用上模板引擎而普通的业务系统往往都是前后端分离的对于前后端分离项目则不需要研究模板引擎如何使用。此外如果你作为架构师正在考虑生成DSL、生成代码这类操作也可以使用模板引擎来完成目标。类比于Java而言模板引擎非常像Freemarker、Velocity这样的框架。Go 语言的 html/template 包是一个功能强大的模板引擎支持多种模板语法和功能。以下是 html/template 中常用的模板写法 1. 基本语法 变量输出 使用 {{ .variable }} 输出变量的值。 p你好, {{ .Name }}/p条件判断 使用 {{ if .condition }} ... {{ else }} ... {{ end }} 进行条件判断。 {{ if .IsAdmin }}p管理员/p {{ else }}p用户/p {{ end }}循环迭代 使用 {{ range .list }} ... {{ end }} 进行循环迭代。 ul {{ range .Items }}li{{ . }}/li {{ end }} /ul2. 模板继承 定义块 使用 {{ define block_name }} ... {{ end }} 定义块。 {{ define content }}p这是一个内容块/p {{ end }}包含块 使用 {{ template block_name . }} 包含块。 {{ template content . }}基础模板 使用 {{ define base }} ... {{ end }} 定义基础模板。 {{ define base }} !DOCTYPE html html headmeta charsetUTF-8title{{ .Title }}/title /head bodyheaderh1{{ .Title }}/h1/headermain{{ template content . }}/mainfooterp© 2024 瑜美科技/p/footer /body /html {{ end }}3. 模板函数 内置函数 html/template 提供了一些内置函数如 and, or, not, len, index 等。 p总计数量 {{ len .Items }}/p自定义函数 使用 SetFuncMap 注册自定义函数。 package mainimport (html/templatenet/httptime )func formatAsDate(t time.Time) string {return t.Format(2006-01-02) }func main() {tmpl : template.Must(template.New().Funcs(template.FuncMap{formatAsDate: formatAsDate,}).ParseFiles(templates/index.tmpl))http.HandleFunc(/, func(w http.ResponseWriter, r *http.Request) {tmpl.ExecuteTemplate(w, index.tmpl, map[string]interface{}{Date: time.Now(),})})http.ListenAndServe(:8080, nil) }模板文件中使用自定义函数 p当前日期为 {{ formatAsDate .Date }}/p4. 模板注释 使用 {{/* ... */}} 添加模板注释。 {{/* 这是一段用户用F12也看不到的注释 */}} p您好{{ .Name }}/p5. 模板变量 使用 {{ $variable : .value }} 定义只在模板渲染生命周期过程中临时产生的变量。 {{ $name : .Name }} p您好{{ $name }}/p6. 模板安全 自动转义 html/template 自动转义 HTML 内容防止 XSS 攻击。 p{{ .UnsafeHTML }}/p不转义 使用 {{ . | safeHTML }} 不转义 HTML 内容。 p{{ .UnsafeHTML | safeHTML }}/p总结 Gin 是一个功能强大且易于使用的 Web 框架适用于构建高性能的 Web 应用。html/template 提供了丰富的模板语法和功能包括变量输出、条件判断、循环迭代、模板继承、模板函数、模板注释、模板操作、模板变量和模板安全等。通过上述示例你可以快速上手并开始构建你的 Go 语言 Web 应用。至此Go语言24小时极速学习教程就结束了你可以直接开始参与一些企业级的Go Web项目了。怎么样学的嗖嗖快对吧至于数不熟练还需要靠练习有很多编程中的技巧、数据结构、算法和设计模式与Java基本一致所以如果你Java和C#玩的很6相信Go语言也能在1天之内玩的非常6。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站改版 打造企业文化横栏网站建设

摘要 arxiv.org/pdf/2402.13616.pdf 当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果能最接近于实际结果。同时,还必须设计一个适当的架构,以便于获取足够的预测信息。现有的方法忽略了一个事实,即当输入数据经历层层特征提取和空间变换时,会损失…

电商网站改版方案平面设计找图网站

近年来,元宇宙(Metaverse)这一概念备受瞩目,被认为是数字化社交的未来趋势之一。而在众多科技巨头中,Facebook(现更名为Meta)一直处于元宇宙发展的前沿。在本文中,我们将深入探讨Fac…

网站维护做啥的国内永久免费crm系统app

数学建模matlab画图操作大全 1.画图及一些基本设置 clear%清空工作区 clc%清空命令行窗口 close all%关闭所有图窗 x-40:0.1:40 f(x) x.^2-110;%函数句柄 x0fzero(f,15)%找15附近的零点 x0fminsearch(f,-11)%找-11附近的最小值%% 画图及其基本操作 %画图,默认格式…

个人网站制作成品图片北京婚恋网站哪家最好

实现一个字符串类String&#xff0c;为其提供可接受C风格字符串的构造函数、析构函数、拷贝构造函数和拷贝赋值函数。 声明依赖文件 其中ostream库用于打印标准输入输出&#xff0c;cstring库为C风格的字符串库 #include <iostream> #include <cstring> 声明命…

网站建设动图代码南山做棋牌网站建设

Watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变&#xff0c;可以使用Watch为状态变量设置回调函数。 说明&#xff1a; 从API version 9开始&#xff0c;该装饰器支持在ArkTS卡片中使用。 概述 Watch用于监听状态变量的变化&#xff0c;当状态变量变…

开网站赚50万做徐州市建设监理协会网站

7、在Windows2000中&#xff0c;切换到MS&#xff0d;DOS方式后&#xff0c;返回Windows2000的命令是。8、在“我的电脑”窗口中用鼠标双击“软盘A”图标&#xff0c;将会。习题参考答案三、填空题1&#xff0e;启动 2&#xff0e;软键盘 3&#xff0e;硬盘 4&#xff0e;弹出式…

苏州网站设计公司官网c 网站开发 vs2012

一、关于gcc、glibc和binutils模块之间的关系 1、gcc&#xff08;gnu collect compiler&#xff09;是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”&#xff0c;以及提供了与编译器紧密相关的运行库的支持&#xff0c;如libgcc_s.so、libstdc.so等。 2、bi…

专业网站建设模块上海行业门户网站建设技术

之前有个想法&#xff0c;就是要利用vue写一套ui。然后当时也没有搞清楚到底怎么写。 几经周转吧&#xff0c;通过付费的方式在gitbook上面找到了答案。 找到答案之后再看我们正在开发的项目&#xff0c;看伙伴写的代码&#xff0c;突然发现完全可以按照写ui组件库的方式调整目…

慈溪想做网站的公司视频网站开发流程图

一、正则表达式 ​ 由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意义&#xff0c;而表示控制或通配的功能&#xff0c;类似于增强版的通配符功能&#xff0c;但与通配符不同&#xff0c;通配符功能是用…

南通e站网站建设建设工程教育网app

蓝绿部署 在部署时&#xff0c;不需要将旧版本的服务停掉&#xff0c;而是将新版本与旧版本同时运行&#xff0c;新版本测试无误之后再将旧版本停掉。这样可以避免再升级的过程中如果失败服务不可用的问题&#xff0c;因为同时部署了两个版本的程序&#xff0c;使得硬件资源是…

苏州市建设工程质量监督站网站怎么在本地安装网站

1.安装 TypeScript&#xff1a;首先&#xff0c;需要在项目中安装 TypeScript。在终端中运行以下命令 npm install typescript --save-dev2.创建 TypeScript 文件&#xff1a;在 Vue 3 项目中&#xff0c;可以创建一个以 .ts 后缀的文件&#xff0c;例如 MyComponent.ts。在这…

快乐彩网站做wordpress在线朗读

文章目录 机器学习逻辑回归&#xff08;LR&#xff09;基本原理为什么 LR 要使用 sigmoid 函数&#xff1f;LR 可以用核函数么&#xff1f;为什么 LR 用交叉熵损失而不是平方损失&#xff1f;LR 能否解决非线性分类问题&#xff1f;LR为什么要离散特征&#xff1f;逻辑回归是处…

静态网站怎么建设怎么做镜像网站

if条件语句&#xff1a;根据某个条件对成都的执行进行两路分支。语法&#xff1a;if(条件){语句块1}else{语句块2}*else部分并不是必须存在的。 switch...case条件选择语句&#xff1a;当分支条件很多时&#xff0c;使用。语法&#xff1a;switch(控制表达式){case 常量表达式1…

行情软件免费下载做360网站优化快

problem luogu-P3648 你正在玩一个关于长度为 nnn 的非负整数序列的游戏。这个游戏中你需要把序列分成 k1k1k1 个非空的块。 为了得到 k1k1k1 块&#xff0c;你需要重复下面的操作 kkk 次&#xff1a; 选择一个有超过一个元素的块&#xff08;初始时你只有一块&#xff0c;…

网站建设捌金手指下拉四兼职做问卷调查的网站好

前言 学完前面我们讲解了InnoDB数据页的7个组成部分&#xff0c;知道了各个数据页可以组成一个双向链表&#xff0c;而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表&#xff0c;每个数据页都会为存储在它里边儿的记录生成一个页目录&#xff0c;在通过主键查…

石家庄网站关键词长春网站建设工作室

从用户的视角来感受一个开源项目的成长&#xff0c;是我们推出「开发者说」专栏的初衷&#xff0c;即在开发者进行开源项目选型时&#xff0c;提供更为立体的项目信息。专栏所有内容均来自作者原创/投稿&#xff0c;本文是「开发者说」的第9篇&#xff0c;作者郑扬勇&#xff0…

郴州制作网站设计较好的公司网站建设基本费用

数据类型分为基本数据类型和引用数据类型两大类在下面数据类型的介绍中只会介绍8种基本数据类型和引用数据类型中的类类型中的一个类String基本数据类型1. 计算机中的存储单位8bit 1byte 1024byte 1KB 1024KB 1M1024M 1GB1024GB 1T2. 整数型数据byte short int long1.long…

那些做电影视频网站的赚钱吗自己做视频网站 在优酷推广

问题产生的地方 原因 对于 double 类型的属性&#xff0c;不能直接使用减法运算符进行比较。减法运算符只能用于数值类型&#xff0c;而 double 是浮点数类型。 要在 double 属性上进行排序&#xff0c;可以使用 CompareTo 方法或者使用自定义的比较器。 更改 要在 double 属性…

微信上浏览自己做的网站吗海南在线新闻中心海南一家

实现linux主机之间的相互免密登录 在进行远程登录的时&#xff0c;服务器和主机间进行认证阶段分为&#xff1a; 基于口令认证&#xff08;不安全&#xff0c;易被抓包拦截获取&#xff09; 客户机连接服务器时&#xff0c;服务器将自己的公钥返回给客户机 客户机会将服务器的…

文档上传网站网站建设后需要录入

QML传感器融合应用 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…