go学习第一天

好,我们正式开始 Go 后端第1节(入门 + 能写接口),我按你节奏来:

👉 不讲废话,学完就能写接口 + 面试能说


🚀 第1节目标(非常明确)

学完你要能做到:

✅ 看懂 Go 基本语法

✅ 写一个简单接口(用 Gin)

✅ 知道 Go 和 Java / JS 的区别


🧠 一、Go 是什么(面试开场题)

✅ 标准答案

Go 是由 Google 开发的编程语言,特点是简单、高并发、编译快,常用于后端服务和微服务。


🧩 二、Go 基础语法(对比你熟悉的 JS)


1️⃣ 变量定义

var a int = 10

b := 20

👉 类比 JS:

let a = 10

const b = 20

💡 面试点:

:= 是自动推导类型(常用)


2️⃣ 函数

func add(a int, b int) int {

return a + b

}

👉 类比 JS:

function add(a, b) {

return a + b

}

💡 特点:

必须写类型

返回值写在后面


3️⃣ if 判断(没有括号!)

if a > 10 {

fmt.Println("大于10")

}


4️⃣ for(Go 只有这一种循环)

for i := 0; i < 5; i++ {

fmt.Println(i)

}

👉 没有 while(但可以模拟)


5️⃣ struct(重点!)

👉 相当于:TS interface + Java class

type User struct {

Name string

Age int

}

使用:

u := User{

Name: "Tom",

Age: 18,

}


⚠️ 三、Go 最重要的设计(面试必问)


👉 Go 没有"类"

没有:

class

继承

👉 用什么代替?

✔ struct

✔ 接口(interface)


💬 面试表达:

Go 通过组合(composition)而不是继承来实现复用,设计更简单。


🧠 四、error 处理(非常重要)

Go 不用 try/catch ❗

result, err := someFunc()

if err != nil {

fmt.Println("出错了")

return

}

👉 思想:

✔ 错误是返回值

✔ 必须手动处理


💬 面试表达:

Go 通过返回 error 显式处理异常,而不是使用 try/catch,这样代码更清晰可控。


🚀 五、第一个 Web 服务(重点)

用 Gin


1️⃣ 安装

go get -u github.com/gin-gonic/gin


2️⃣ 写一个接口

package main

import "github.com/gin-gonic/gin"

func main() {

r := gin.Default()

复制代码
r.GET("/hello", func(c *gin.Context) {
    c.JSON(200, gin.H{
        "message": "hello world",
    })
})

r.Run(":8080")

}


3️⃣ 启动

go run main.go

访问:

http://localhost:8080/hello


👉 返回:

{

"message": "hello world"

}


🧠 六、你要理解的核心(非常重要)

这一节的本质只有一句话:

👉 Go = 写接口非常简单 + 并发很强


🎯 七、面试这一节会问什么?

你现在就要能回答👇


1️⃣ Go 和 Java 区别?

👉 答:

Go 没有类和继承

Go 编译更快

Go 原生支持并发(goroutine)


2️⃣ 为什么 Go 适合做后端?

👉 答:

并发能力强

性能高

部署简单(一个二进制)


🧩 八、你现在要做的练习(必须做)

我给你3个练习👇


📝 练习1(基础)

写一个函数:

func sum(a int, b int) int


📝 练习2(struct)

定义一个 User:

Name

Age

并打印


📝 练习3(重点)

改造接口:

GET /user

返回:

{

"name": "张三",

"age": 18

}


🚀 下一步(非常关键)

你如果这一节 OK,我带你进下一节:

👉 第2节:MySQL + CRUD(真正后端开始)

相关推荐
IT_陈寒1 分钟前
Redis并发写入踩坑记录:别让超时设置坑了你
前端·人工智能·后端
Bs_MoneyMagnet7 分钟前
基于springboot+vue的图书馆预约系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·毕业设计·图书管理系统·计算机毕业设计
console.log('npc')17 分钟前
03 — 核心框架:App 与中间件
后端·node.js·express
小蒜学长17 分钟前
基于小程序的绘画作品创作与分享社区系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·绘画作品·创作分享社区
江湖十年27 分钟前
Go GOPROXY 兜底链的坑:从一次诡异的 CI lint 失败说起
后端·面试·go
考虑考虑8 小时前
docker compose V2版本新属性
运维·后端·自动化运维
GreenTea10 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
Flynt10 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet10 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
GreenTea11 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法