go创建web项目分别在windows和linux部署

go,创建,web,项目,分别,windows,linux,部署 · 浏览次数 : 48

小编点评

**来源:** 1. 通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类

正文

转载请注明出处:

1.通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类

  创建的项目名称为:go_web_test1,  main.go 中代码如下:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

  最基础的web的目录结构和代码如下:

             

  注意事项,main.go 中的package 必须为 package main,程序才能运行。

  如果不是package main,在编译启动程序时报错:package command-line-arguments is not a main package

2.在windows下编译发布启动

  进入到项目的目录结构下面,使用 go build -o project_name.exe  ,进行编译和打包项目

go build -o go_web_test1.exe

  运行这个命令之后,会生成一个 对应的 exe 文件,在windows 上双击就可以运行该程序了。

  由于在项目的main.go 中定义了一个最基本的接口路由处理,服务启动之后,访问该api:

                  

   可以看到调用该api后返回的接口数据:hello ,world

3.在linux环境下编译发布启动

  将刚刚编写的go_web_test1 项目代码上传到linux,并删掉在windows 编译的 exe文件,在linux上通过go build 进行重新编译。  

go build

  在linux上执行之后生成了一个 项目名称对应的二进制文件,当在Linux上使用go build命令编译Go Web项目时,默认情况下会生成一个名为与包名相同的可执行文件,没有文件扩展名。这个文件就是一个可执行的二进制文件,它包含了Go程序的机器码和相关的元数据。

               

   通过 ./go_web_test 就可以启动,

             

   进行接口调试:

        

 

与go创建web项目分别在windows和linux部署相似的内容:

go创建web项目分别在windows和linux部署

转载请注明出处: 1.通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类 创建的项目名称为:go_web_test1, main.go 中代码如下: package main import ( "fmt" "net/http" ) func handler(w http.R

go项目实现mysql接入以及web api

本文为博主原创,转载请注明出处: 创建go项目,并在go项目中接入mysql,将mysql的配置项单独整理放到一个胚子和文件中,支持项目启动时,通过加载配置文件中的值,然后创建数据库连接。 之后使用net/http相关的库,创建路由,并在路由中通过不同的http方法,实现mysql连接的test数据

Go中 net/http 使用

转载请注明出处: net/http是Go语言标准库中的一个包,提供了实现HTTP客户端和服务器的功能。它使得编写基于HTTP协议的Web应用程序变得简单和方便。 net/http包的主要用途包括: 实现HTTP客户端:可以发送HTTP请求并接收服务器的响应。 实现HTTP服务器:可以创建一个HTTP

Gin中间件开发

Gin是一个用Go语言编写的Web框架,它提供了一种简单的方式来创建HTTP路由和处理HTTP请求。中间件是Gin框架中的一个重要概念,它可以用来处理HTTP请求和响应,或者在处理请求之前和之后执行一些操作。 以下是关于Gin中间件开发的一些基本信息: - **中间件的定义**:在Gin中,中间件是

Gin 框架的执行流程

Gin框架是一个用Go语言编写的高性能Web框架,它基于httprouter实现,具有快速、简洁和高效的特性。 以下是Gin框架处理HTTP请求的大致执行流程: 1 初始化Gin引擎: 用户创建一个新的gin.Engine实例,这通常是应用程序的主路由器。 用户定义路由,这些路由是通过engine.

每日一库:cobra 简介

当你需要为你的 Go 项目创建一个强大的命令行工具时,你可能会遇到许多挑战,比如如何定义命令、标志和参数,如何生成详细的帮助文档,如何支持子命令等等。为了解决这些问题,github.com/spf13/cobra 就可以派上用场。 github.com/spf13/cobra 是一个用于构建强大的命

gRPC入门学习之旅(八)

gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发, gRPC 客户端和服务端可以在多种环境中运行和交互。你可以用Java创建一个 gRPC 服务端,用 Go、Python、C# 来创建客户端。本系统文章详细描述了如何创建一...

gRPC入门学习之旅(九)

gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发, gRPC 客户端和服务端可以在多种环境中运行和交互。你可以用Java创建一个 gRPC 服务端,用 Go、Python、C# 来创建客户端。本系统文章详细描述了如何创建一...

go NewTicker 得使用

转载请注明出处: 在 Go 语言中,time.NewTicker 函数用于创建一个周期性触发的定时器。它会返回一个 time.Ticker 类型的值,该值包含一个通道 C,定时器会每隔一段时间向通道 C 发送一个时间值。 NewTicker 函数的签名如下: func NewTicker(d Dur

Go代码包与引入:如何有效组织您的项目

本文深入探讨了Go语言中的代码包和包引入机制,从基础概念到高级应用一一剖析。文章详细讲解了如何创建、组织和管理代码包,以及包引入的多种使用场景和最佳实践。通过阅读本文,开发者将获得全面而深入的理解,进一步提升Go开发的效率和质量。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术