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

二、

三、

相关推荐
啊哈一半醒1 天前
Go 语言 Context 全方位详解:原理、实战与避坑
开发语言·后端·golang
名字还没想好☜1 天前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
ttwuai1 天前
Go 后台定时任务启停不生效怎么办?先查调度同步链路
开发语言·后端·golang
运维开发笔记1 天前
3.1 Go if 语句学习笔记
golang
进击的程序猿~2 天前
Go Interface源码深度解析指南
开发语言·后端·golang
—Qeyser2 天前
Sponge 脚手架快速创建后端API及接口使用完整教程
golang
不爱洗脚的小滕2 天前
【Golang】Go 语言实现高可用、用户态感知与多端广播的服务端 SSE 架构
开发语言·架构·golang
报错小能手2 天前
Go 简介
开发语言·后端·golang
golang学习记3 天前
Go 项目使用docker compose的正确方式
开发语言·docker·golang