学习路之go --go入门

学习路之go --go入门

  • 一、
    • [1. windows环境搭建:](#1. windows环境搭建:)
    • [2. docker环境搭建:](#2. docker环境搭建:)
  • 二、
  • 三、

一、

1. windows环境搭建:

安装包下载地址为:https://go.dev/dl/。

如果打不开可以使用这个地址:https://golang.google.cn/dl/。

安装后已经默认将 c:\Go\bin 目录添加到 Path 环境变量中

D:\workspace\Go_space\test.go

go 复制代码
// main.go
package main

import (
	"fmt"
	"net/http"
)

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

func main() {
	fmt.Println("Go server starting on :8080...")
	http.ListenAndServe(":8080", http.HandlerFunc(handler))
}

cmd命令行中:

bash 复制代码
go run test.go


2. docker环境搭建:

docker-go

├── main.go # 入口文件

├── go.mod # Go 模块定义

└── Dockerfile # Docker 构建文件

main.go

bash 复制代码
// main.go
package main

import (
	"fmt"
	"net/http"
)

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

func main() {
	fmt.Println("Go server starting on :8080...")
	http.ListenAndServe(":8080", http.HandlerFunc(handler))
}

go.mod

bash 复制代码
module docker-go

go 1.22

Dockerfile

bash 复制代码
# 构建阶段
FROM golang:1.22 AS builder

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o myapp .

# 运行阶段(轻量级)
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/

COPY --from=builder /app/myapp .
EXPOSE 8080
CMD ["./myapp"]
  1. cmd 运行:
bash 复制代码
docker run -it --rm -v "%cd%:/app" -w /app -p 8080:8080 golang:1.22 go run main.go
  1. 访问
  1. 构建镜像
bash 复制代码
docker build -t my-go-app .
  1. 运行容器
bash 复制代码
docker run -d -p 8080:8080 --name go-app my-go-app

二、

三、

相关推荐
KeyonY2 小时前
车联网规则引擎设计之热更新与版本管理
redis·golang·车联网
咬_咬2 小时前
go语言学习(函数)
开发语言·学习·golang
初心未改HD3 小时前
Go语言Goroutine与Channel深度解析
开发语言·golang
初心未改HD3 小时前
Go语言Context深度解析与工程实践
开发语言·golang
geovindu6 小时前
go: Visitor Pattern
开发语言·设计模式·golang·访问者模式
会编程的土豆12 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
亿牛云爬虫专家20 小时前
Go爬虫进阶:如何优雅地在Colly框架中实现无缝代理切换?
爬虫·中间件·golang·爬虫代理·colly框架·代理切换·api提取
会编程的土豆1 天前
洛谷题单 入门1 顺序结构(go语言)
开发语言·后端·golang·洛谷
jieyucx1 天前
Go 语言 switch 条件语句详解
开发语言·c++·golang