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

二、

三、

相关推荐
晨曦中的暮雨8 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang
codeejun13 小时前
每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
开发语言·架构·golang
迷茫运维路15 小时前
golang_Viper配置管理器
后端·golang
geovindu16 小时前
go: Broadcast Pattern
开发语言·后端·设计模式·golang·广播模式
~|Bernard|16 小时前
关于go语言中二维切片的append操作陷阱
开发语言·后端·golang
ttwuai20 小时前
XYGo Admin 扩展开发:WebSocket 事件注册与实时推送实战
python·websocket·网络协议·golang·后台框架
踏着七彩祥云的小丑20 小时前
Go学习第2天:程序结构+基础语法+数据类型
开发语言·学习·golang·go
小小龙学IT20 小时前
Go语言后端开发实战指南:构建高性能云原生服务
前端·云原生·golang
不爱编程的小陈21 小时前
Go语言GMP调度模型深度解析:高并发背后的精妙设计
开发语言·后端·golang
怪我冷i1 天前
zig语言学习笔记——heap-memory
开发语言·golang·zig