当前位置:

首页 > 编程开发 > Golang 的浏览器支持:搭建交互式 Web

Golang 的浏览器支持:搭建交互式 Web

WebStorm macOS版
WebStorm macOS版

JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

立即下载
Mac 2026-10-14
数据库 编程开发 web开发 服务器管理 集成开发环境

Go构建交互式Web应用程序,在浏览器中运行。步骤:创建Go项目和main.go文件,添加HTTP处理程序以显示消息。使用HTML和JavaScript添加表单,用于用户输入和提交。在Go应用程序中添加对POST请求的处理,接收用户消息并返回响应。使用FetchAPI发送POST请求并处理服务器响应。

本文目录

    Go构建交互式Web应用程序,在浏览器中运行。 步骤:创建Go项目和main.go文件,添加HTTP处理程序以显示消息。使用HTML和JavaScript添加表单,用于用户输入和提交。在Go应用程序中添加对POST请求的处理,接收用户消息并返回响应。使用Fetch API发送POST请求并处理服务器响应。

    Golang 的浏览器支持:搭建交互式 Web

    使用 Go 构建交互式 Web 应用程序:浏览器支持

    Go 是一个多功能编程语言,不仅限于后端开发。在本文中,我们将展示如何使用 Go 轻松创建交互式 Web 应用程序,以在浏览器中运行。

    创建 Go Web 应用程序

    首先,创建一个新的 Go 项目:

    go mod init myapp

    接下来,创建一个名为 main.go 的文件并添加以下代码:

    package main
    
    import (
        "fmt"
        "net/http"
    )
    
    func main() {
        // 定义一个处理程序函数,它将在浏览器中渲染一个简单的消息
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
            fmt.Fprintf(w, "Hello from Go!")
        })
    
        // 启动 HTTP 服务器侦听端口 8080 上的请求
        http.ListenAndServe(":8080", nil)
    }

    浏览 Web 应用程序

    使用以下命令运行 Go 应用程序:

    go run main.go

    然后,在浏览器中打开 http://localhost:8080。你应该会看到 "Hello from Go!" 消息显示在页面上。

    添加交互性

    要添加交互性,我们可以使用 HTML 和 JavaScript。将以下内容添加到 main.go 文件中,在 http.HandleFunc 闭包内:

        // 创建一个简单表单,包含一个输入字段和一个提交按钮
        fmt.Fprintf(w, "
    ")

    这将在页面上创建一个表单,用户可以在其中输入消息并按 "Send" 按钮提交。

    接下来,添加以下 JavaScript 代码到 HTML 页面的底部,在 标记之后:

    const form = document.querySelector('form');
    
    form.addEventListener('submit', (e) => {
        e.preventDefault();
        const message = e.target.querySelector('input[name="message"]').value;
    
        // 使用 Fetch API 发送 POST 请求
        fetch('/', {
            method: 'POST',
            body: JSON.stringify({ message }),
            headers: {
                'Content-Type': 'application/json'
            }
        })
        .then(res => res.json())
        .then(data => {
            // 处理服务器响应
            console.log(data);
        })
        .catch(error => {
            // 处理错误
            console.log(error);
        });
    });

    这个 JavaScript 代码会监听表单的提交,收集用户输入的消息,并使用 Fetch API 发送 POST 请求到 Go 服务器。

    在 Go 应用程序中,添加以下代码来处理 POST 请求:

    func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
            if r.Method == "POST" {
                // 解析 JSON 请求正文
                var msg Message
                decoder := json.NewDecoder(r.Body)
                if err := decoder.Decode(&msg); err != nil {
                    http.Error(w, err.Error(), http.StatusBadRequest)
                    return
                }
    
                // 处理消息并返回响应
                fmt.Fprintf(w, "Got your message: %s", msg.Message)
            } else {
                // 处理其他请求方法
            }
        })
    
        // 定义一个用于保存消息的类型
        type Message struct {
            Message string `json:"message"`
        }
    
        http.ListenAndServe(":8080", nil)
    }

    通过这些更改,我们的 Web 应用程序现在可以接收用户的输入并向其显示一个响应。

    结论

    使用 Go 构建交互式 Web 应用程序既简单又强大。通过结合 Go 的后端处理能力以及 HTML 和 JavaScript 的前端功能,你可以创建丰富的用户体验,直接在浏览器中运行。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 web Golang
    相关文章 更多
    PDF里多余的一页怎么删除?定位、移除与保存步骤
    PDF里多余的一页怎么删除?定位、移除与保存步骤

    介绍三种删除 PDF 多余页面的实用路线:使用 PDF.cn 在线工具按页移除,通过极轻PDF在线编辑器查看缩略图后删除,以及借助本地 PDF 软件处理单份或批量文件,并说明各自适用场景、操作限制、保存方式与删除后的页码、目录及内容衔接检查要点。

    typora怎么高亮 文本标记语法设置
    typora怎么高亮 文本标记语法设置

    本教程演示如何在 Windows 版 Typora 中开启 Highlight 高亮功能,通过双等号语法标记重点文本,并展示如何编辑、取消高亮及验证源码保存状态。

    讯飞智作在线制作配音官网
    讯飞智作在线制作配音官网

    介绍如何从讯飞智作官网进入AI配音制作入口,使用电脑浏览器完成文本转语音的操作流程,包括登录、输入文稿、试听调整及下载MP3作品的方法。

    xshell是什么 功能用途介绍
    xshell是什么 功能用途介绍

    了解 Xshell 终端客户端在 Windows 环境下的主要功能。本文演示如何通过 SSH 连接 Linux 服务器、利用标签管理多会话、使用日志记录排错过程,并区分终端命令与 SFTP 文件传输,适合运维与开发新手快速上手。

    布米米动漫官网入口地址 布米米动漫官网免费观看
    布米米动漫官网入口地址 布米米动漫官网免费观看

    布米米的既有客户端界面包含推荐内容、动漫栏目与番表,面向按类型浏览和关注更新的使用场景。本文所用旧版界面展示的是当时的栏目结构,当前功能仍以实际服务状态为准。

    UP简历技能项堆得太满怎么办 在UP简历按岗位删减技能
    UP简历技能项堆得太满怎么办 在UP简历按岗位删减技能

    打开UP简历https://upcv.cgref.cn/yh2080,重新整理过满的技能栏。按目标岗位筛选能力,用具体经历替代空泛等级,再看整页布局,给更重要的项目留出空间。

    青简输入法:候选译词、学习语言与输入方案
    青简输入法:候选译词、学习语言与输入方案

    了解青简输入法的候选译词、学习语言、全拼和双拼设置、本地候选重排与可选云服务,并查看经核实的官网和开源项目入口。

    2026个人退税详细步骤子女怎么填
    2026个人退税详细步骤子女怎么填

    2026年办理2025年度个人退税时,子女教育专项附加扣除应选择2025年度,填写受教育阶段、起止时间和学校,确认夫妻扣除比例并选择年度自行申报。文章说明完整App步骤、升学处理和扣除未带入的排查方法。

    笔记本电脑发烫卡顿怎么办
    笔记本电脑发烫卡顿怎么办

    笔记本一热就卡多半是热降频。从风道积灰、垫高散热、后台占用排查、电源性能策略到硅脂老化与送修判断,按顺序给出可操作的降温方案。

    一加手机安装立刻MV外部应用设置教程
    一加手机安装立刻MV外部应用设置教程

    在一加手机上安装立刻MV时遇到禁止安装提示?本教程详解如何通过系统设置允许浏览器或文件管理器安装外部应用,核对开发者信息,并管理安装后的必要权限,确保应用安全运行。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?