学习路之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

二、

三、

相关推荐
小杨互联网15 分钟前
Go 现代 CLI 工具离线镜像合集
开发语言·后端·golang·开源·go·命令行
microrain4 小时前
跟着一条属性报文走一遍 SagooIoT 的接入链路
物联网·架构·golang·sagooiot
CodeGL4 小时前
微服务框架——go-zero
微服务·架构·golang
紧跟先前的步伐1 天前
Go AI Agent 实战 22|完善 Agent 执行循环:从工具调用到最终回答
人工智能·ai·golang
后台模板学习1 天前
Go Web开发中任务调度框架的源码解析与高可用实现方案
开发语言·后端·golang
FungLeo1 天前
成为全栈·Go 后端篇·分类树与标签关系:目录变更为何需要协调
golang·go·gorm·数据库事务·分类树·成为全栈
fly-iot1 天前
【FDE知识库】(1):AI 编程时代开发语言选型分析,云使用go,企业用java,算法python,底层c
开发语言·人工智能·golang
FungLeo1 天前
成为全栈·Go 后端篇·文章查询与展示投影:安全分页、排序和软删除
golang·go·gorm·分页查询·成为全栈·sql安全
紧跟先前的步伐2 天前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
日日大王学编程2 天前
#Feed 流项目复盘:Redis 时间线缓存与 Outbox 消息可靠性设计
golang·1024程序员节