GoWeb学习-第二天

news2024/11/23 21:23:50

文章目录

  • 从零开始学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程序!

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

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

相关文章

深度解读:为什么要做数据合规?如何做到数据合规?

数据资源“入表”在即,企业更需筑牢数据合规防线。但企业主企业购买数据、获取数据到底是否合法合规,入表如何防范合规风险?上周三,亿信华辰邀请到北京鑫诺律师事务所高级合伙人、管委会副主任武婕将和大家分享《数据入表法律合规…

扩散模型DDPM学习笔记

扩散模型DDPM 文章目录 扩散模型DDPM如何运作基本概念训练过程推理过程: 目标损失函数推导评估标准 论文地址: Denoising Diffusion Probabilistic Models (DDPM) 如何运作 ​ 从guassian distribution进行采样得到一个噪声的图片,图片大小…

使字符串的单词倒序输出表示

题目 任务描述 本关任务:请实现函数 revWordoder,能够将 pa 指向的单词表字符串中的所有单词,按相反顺序放入 pb,同时去除多余的空格,单词之间只留一个空格. 例如 pa 中为 red blue, 则调用函数后,pb 中为b…

如何通过Portal实现消息集成

在数字化时代浪潮下,信息的流通与交互已变得至关重要,不论是在企业内部日常协作,还是与外部客户的紧密沟通,信息的快速、准确、实时传递都成为了确保业务顺畅进行的关键因素、决策精准的核心要素。 为了满足这种日益增长的需求&a…

学生护眼灯怎么选?2023备考护眼台灯推荐

近期,许多“护眼台灯是否是智商税”的帖子频繁出现,引起了许多群众的关注,作为一名护眼台灯资深使用者,在这里声明一下,护眼台灯绝对不是智商税。护眼台灯是通过调节光线亮度和色温,降低蓝光辐射&#xff0…

苹果提醒事项怎么用?几个简单步骤就能学会!

苹果提醒事项可以帮助你轻松管理待办事项,让你更好地安排自己的时间和工作。但是,有些小伙伴可能对如何使用这个功能还有一些疑问。苹果提醒事项怎么用?不要担心,小编将为大家提供使用提醒事项的方法,帮助你学会如何使…

代码随想录算法训练营第四十九天【动态规划part10】 | 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:使用一个二维数组dp[i][2],dp[i][0]代表持有股票的最大收益&…

【VRTK】【VR开发】【Unity】9-瞬移

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【移动的种类】 瞬移只是VR中移动的一种种类,其它还有连续移动,物理移动,摔臂移动等等。 瞬移自身也有多个分类,本篇介绍: 即时瞬移冲刺瞬移定点瞬移【瞬…

一篇教会你java内存图怎么画

首先我们要知道: 线程的本质是栈;程序执行时,在java栈中,成立一个线程栈,调用方法时方法不断压栈出栈,这个压栈出栈的过程就是线程执行的过程。方法执行 拷贝入栈 ,执行完成 出栈,从…

leetcode刷题详解十一

⭕️583. 两个字符串的删除操作 思路:核心代码就是最长公共子序列,但是需要注意的是结果 就是如果说公共子序列为0,则需要两个字符串长度的才行 如果有,就是 n m ∗ 2 d p [ n ] [ m ] nm*2dp[n][m] nm∗2dp[n][m] int minDist…

企业人力资源公司抖音直播招聘断播怎么处理?

企业人力资源公司抖音直播招聘断播怎么处理? 最直接的处理方式就是进行抖音直播招聘报白,报白后在直播和视频中发布招聘和企业信息,不用担心被封禁和限制流量。 可以通过抖音直播进行招聘,也可以在视频中添加小程序,…

服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例

服务器数据恢复环境: 某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。 服务器故障&检测: 服务器在运行过程中突然瘫痪,管理员对服务器进行了重装…

LINUX入门篇【11】---进程篇【3】---进程优先级,进程切换,进程调度

前言: 有了前面知识点的铺垫,本篇我们将围绕进程的三个方面来展开,即进程优先级,进程切换以及进程调度的问题,这里的进程调度其实本质就是CPU是如何去调度进程的。 进程优先级: 优先级的概念&#xff1a…

数字人透明屏幕是如何工作的?

数字人透明屏幕是一种令人兴奋的科技产品,它结合了人脸识别、全息影像技术以及透明屏幕,为人们带来了全新的互动体验。本文将详细介绍数字人透明屏幕的工作原理以及其应用场景。 工作原理 数字人透明屏幕的工作原理主要包括人脸识别和全息影像技术。人脸…

解决ant-design-vue中Select组件v-model值为空字符串不显示placeholder的bug

方法一: 1.找到node_modules/ant-design-vue/es/vc-select/SingleSelector.js文件 搜索renderPlacehoder方法 将其修改为 const renderPlacehoder () > {const list props.values.filter(val > val.value ! );if (list[0]) {return null}... }2.在此文件中…

浅谈硬件连通性测试几大优势

硬件连通性测试是确保硬件系统正常运行、提高系统可靠性和降低生产成本的关键步骤。在现代工程和制造中,将连通性测试纳入生产流程是一个明智的选择,有助于确保硬件产品的质量和性能达到最优水平。本文将介绍硬件连通性测试的主要优势有哪些! 一、提高系…

区域人员定位管理系统功能

人员定位管理系统是集计算机软硬件、信息采集处理、无线数据传输、网络数据通讯等技术多学科综合应用为一体的自动识别信息技术产品,实现对不同物体(包括人)在不同状态(移动、静止)下的自动识别,特定区域人…

深度学习框架配置

目录 1. 配置cuda环境 1.1. 安装cuda和cudnn 1.1.1. 显卡驱动配置 1.1.2. 下载安装cuda 1.1.3. 下载cudnn,将解压后文件复制到cuda目录下 1.2. 验证是否安装成功 2. 配置conda环境 2.1. 安装anaconda 2.2. conda换源 2.3. 创建conda环境 2.4. pip换源 3.…

2004-2022年上市公司托宾Q值数据

2004-2022年上市公司托宾Q值数据 1、时间:2004-2022年 2、指标:年份、股票代码、股票简称、行业名称、行业代码、省份、城市、区县、行政区划代码、城市代码、区县代码、首次上市年份、上市状态、托宾Q值 3、范围:上市公司 4、来源&#…

Redis 的过期策略都有哪些?

思考:假如redis的key过期之后,会立即删除吗? Redis对数据设置数据的有效时间,数据过期以后,就需要将数据从内存中删除掉。可以按照不同的规则进行删除,这种删除规则就被称之为数据的删除策略(数据过期策略…