GoWeb学习-第二天

文章目录

  • 从零开始学Go web——第二天
    • 一、安装Go语言
    • 二、建立web目录
      • 2.1 创建GO语言包目录
      • 2.2 创建Go web文件
    • 三、编译并运行Go web应用
      • 3.1 编译并运行
      • 3.2 查看结果

从零开始学Go web——第二天

​ 第一天我们了解了与web息息相关的HTTP协议,聊了聊Go与web的关系等,接下来让我们一起写一个实战的GO语言web例子,体会Go实现web的简便性!

一、安装Go语言

具体的安装方法可以参考官方的教程:https://go.dev/doc/install

二、建立web目录

2.1 创建GO语言包目录

pzs@pzs-VirtualBox:~/go_study$ mkdir -p $HOME/go_study/firstwebapp
pzs@pzs-VirtualBox:~/go_study/firstwebapp$ go mod init github.com/pzs/firstwebapp
go: creating new go.mod: module github.com/pzs/firstwebapp
go: to add module requirements and sums:
        go mod tidy

2.2 创建Go web文件

pzs@pzs-VirtualBox:~/go_study/firstwebapp$ touch server.go 

​ web文件server.go内容如下所示:

package main // 声明程序所属的包, pcakge后面的就是包名。Go语言要求可执行程序必须位于main包中

import (
	"fmt"
	"net/http" // HTTP
)

// 从Request结构中提取相关信息,创建一个HTTP响应,之后通过ResponseWriter接口写入到客户端
func handler(writer http.ResponseWriter, request *http.Request) {
	fmt.Fprintf(writer, "Hello world %s", request.URL.Path[1:])
}

func main() {
	// handler为事件处理的回调函数
	http.HandleFunc("/", handler)
	// 开启服务端监听端口
	http.ListenAndServe(":8083", nil)
}

三、编译并运行Go web应用

​ Go语言与其它语言不同的是,web应用的运行环境由net/http直接提供,包和应用源代码会被一起编译为一个可以快速部署的独立环境,而不需要依赖其它应用服务器。

3.1 编译并运行

pzs@pzs-VirtualBox:~/go_study/firstwebapp$ go build server.go #编译Go语言程序,生成的可执行程序
pzs@pzs-VirtualBox:~/go_study/firstwebapp$ ./server # 执行Go语言可执行程序

3.2 查看结果

​ 在浏览器内输入: http://127.0.0.1:8083/myfirstwebapp,即可查看到结果。

在这里插入图片描述

​ 到此,我们就成功地创建了一个属于自己的第一个Go web程序!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

struts2 代码执行 (CVE-2020-17530)

struts2 代码执行 (CVE-2020-17530) 使用struts2框架的网站 URL上会有.action结尾这个特征 名称: struts2 代码执行 (CVE-2020-17530) 描述: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet…

PM2 在线和离线部署uvicorn和fastapi项目过程

PM2介绍 PM2 is a daemon process manager that will help you manage and keep your application online 24/7 PM2是一个后台进程管理工具,能帮助管理应用和维持应用7*24小时运行。 PM2在线安装 npm install pm2 -gPM2离线安装(适用于内网) 参见 如何离线安装pm2…

算法通关村第二关—手写链表反转(青铜)

链表反转的三种方式 一、建立虚拟头结点辅助反转 为了方便反转,可以创建一个ans结点,让ans.next head,然后后面的结点一次插入到ans.next 在下图中,对(1->2->3->4->5)进行反转,可以创建ans&…

马骑顿部署实在RPA,所产价值超该项目投入6倍

“数字化最大的挑战在于我们增长太快了,对于全域经营的DTC品牌来说,让一个部门去管理所有平台数据,形成品牌全域生意的协同实非易事。”马骑顿运营部负责人表示。2022年,马骑顿搭建企业数据中台,统一管理线上数据&…

wsj0数据集原始文件.wv1.wv2转换成wav文件

文章目录 准备一、获取WSJO数据集二、安装sph2pipe三、转换代码四、结果展示 ​ 最近做语音分离实验需要用到wsj0-2mix数据集,但是从李宏毅语音分离教程里面获取的wsj0-2mix只有一部分。从网上获取到了完整的WSJO数据集后,由于原始的语音文件后缀是wv1或…

网关路由器双栈配置中的IPv6相关选项解析

1、引言 讲知识往往是枯燥无味的,我们先从问题入手。家庭网关(光猫)、路由器是我们每个人或多或少都有所接触的2种设备。现在一般都是光纤入户,通常每个家庭配备一个光猫和一台家用路由器。 目前有许多网络服务已经提供了IPv6支…

距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023

计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…

前端笔试遇到的坑-100题

1.闭包 let 形成闭包 var全局变量 function test() {for (var i 0; i < 6; i) {console.log(i); //1 2 3 4 5 6// setTimeout(() > {// console.log(i);// }, 0); 6 6 6 6 6 6 6} } test();var array []; for (var i 0; i < 3; i) {array.push(() > i);…

全国高校走进深算院:共话国产数据库产教融合生态建设

近日&#xff0c;由教育部高等学校计算机类专业教学指导委员会、全国高等学校计算机教育研究会主办&#xff0c;清华大学出版社、深圳市信息技术应用创新联盟承办的“2023全国高校走进信创企业研学活动”顺利举办。来自全国各地30余家高校的近80位院校领导、教师代表走进了深圳…

WordPress更改文章分类插件

当WP网站内容比较多的时候&#xff0c;有时候如果涉及到批量修改文章分类&#xff0c;如果一个个的去操作的话就太费事了&#xff0c;如果使用后台批量修改分类的话是增加旧分类不会取消选择&#xff0c;就就导致我们适得其反还需要一个一个的去编辑取消&#xff0c;实在繁琐了…

年终好价节有什么必买的数码好物?值得入手的数码好物推荐

大家是不是都没听说过好价节&#xff1f;直白点说就是原来的双十二购物狂欢节&#xff0c;只不过换一个说法&#xff0c;不过今年毕竟是第一年换个说法&#xff0c;所以淘宝年终好价节优惠还是值得我们期待的&#xff01;作为年前的最后一波大促&#xff0c;一起来看看有哪些好…

redis 内存机制探索篇

info memory 查看redis 内存使用情况出现的问题&#xff0c;公司在导入大量redis key 的时候&#xff0c;想要看一下redis 内存使用情况 &#xff0c;发现used_memory_peak_perc 和 used_memory_dataset_perc 马上达到100%&#xff0c;这个时候很慌张&#xff0c;是不是当前red…

智能AI问答系统ChatGPT网站系统源码+Midjourney绘画+支持GPT-4-Turbo模型+支持GPT-4图片理解能力

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

亚马逊发布人工智能助手Amazon Q,一起来看看有什么功能

Amazon 在11.28日Re:Invent大会上推出人工智能助手Amazon Q&#xff0c;主要面向企业客户&#xff0c;提供个性化服务。号称是专为工作定制的生成式人工智能助手。Your generative Al-powered assistant tailored for work 核心能力企业知识库&#xff1a;为客户提供快速、相关…

低功耗蓝牙模块在医疗保健领域中的创新应用

医疗保健领域一直在追求更先进的技术&#xff0c;以提高医疗服务的效率和质量。低功耗蓝牙技术的崭新应用为医疗设备的互联性和数据传输提供了可靠的解决方案。本文将深入研究低功耗蓝牙模块在医疗保健领域中的应用&#xff0c;重点关注其在可穿戴设备、远程医疗监测和患者数据…

Python编程基础:数据类型和运算符解析

想要学习Python编程语言&#xff1f;本文将为您介绍Python中常见的数据类型和运算符&#xff0c;为您打下坚实的编程基础。了解不同的数据类型和运算符&#xff0c;掌握它们之间的配合方式&#xff0c;让您能够更轻松地进行数据处理和计算任务。无论您是初学者还是有一定经验的…

网页能做二维码吗?1分钟学会链接转码的方法

想要将链接做成二维码图片&#xff0c;让他人通过扫码跳转链接以提高网页的传播性&#xff0c;是现在很常用的一种手段。主要在于二维码是现在最常用的一种展现方式&#xff0c;更加符合现在人的行为习惯&#xff0c;那么网址二维码该如何操作呢&#xff1f;今天小编给大家讲解…

对数据页的理解

1.InnoDB 是如何存储数据的&#xff1f; 数据表中的记录是按照行来存储的&#xff0c;但是数据库的读取并不以「行」为单位&#xff0c;否则一次读取&#xff08;也就是一次 I/O 操作&#xff09;只能处理一行数据&#xff0c;效率会非常低。 因此&#xff0c;InnoDB 的数据是按…

例:降压型直流开关稳压电源

继电器控制开断&#xff0c;记得要做防抖 单片机DAC控制输出电压 LM5117太复杂可以用TPS5450 二极管选择&#xff0c;可以选一个也可以选两个并联 一体成型电感排第一&#xff0c;铁硅铝电感排第二

CSS特效021:蛇形左右扭动的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…