Go 零基础入门万字笔记整理|语法规范、数据类型、指针、运算符、流程控制、函数全梳理
Go零基础入门万字笔记整理语法规范、数据类型、指针、运算符、流程控制、函数全梳理标签GolangGo语言入门后端开发编程笔记零基础学Go一、前言最近从零系统学习 Go 语言全程手写纸质笔记完整记录了Go语法规范、基础数据类型、指针原理、运算符、分支循环、跳转关键字、函数基础等核心知识点。本文将手写笔记全面电子化梳理新手高频踩坑细节、核心语法规则与易错知识点内容通俗易懂、结构清晰非常适合Go零基础入门同学收藏复习、查漏补缺。二、Go 代码语法规范1、代码编写硬性规则源代码文件后缀必须为 .go程序唯一执行入口是 main() 函数Go 严格区分大小写语句末尾无需手动加分号编译器会自动补全是Go代码简洁性的核心体现编译器逐行解析代码一行仅支持一条语句同行多条语句直接报错定义后未使用的变量、导入后未使用的包编译直接报错强制规范编码大括号必须紧跟代码行末尾禁止单独换行书写。2、注释写法块注释/* 注释内容 */VSCode 快捷键 ShiftAltA不支持嵌套块注释行注释// 注释内容VSCode 快捷键 Ctrl/。3、代码风格标准统一使用 Tab 缩进不使用空格单行代码长度建议不超过 80 字符超长语句手动换行可参考Go官方标准库代码规范编写代码官方文档https://golang.org中文学习文档studygolang.com。4、标识符命名规则命名组成仅支持字母、数字、下划线禁止数字开头统一使用驼峰命名法首字母大写为包外可访问小写仅当前包私有Go内置36个保留关键字禁止用作变量、函数名包名简洁统一与文件夹名称保持一致main 为可执行程序主包不可被其他包导入。三、Go 全部基础数据类型详解1、整型整数类型整型分为有符号整型和无符号整型不同类型占用内存、取值范围差异较大适配不同业务场景类型名占用字节取值范围int8 / uint8(byte)1 字节-2⁷~2⁷-1 / 0~2⁸-1int16 / uint162 字节-2¹⁵~2¹⁵-1 / 0~2¹⁶-1int32 / uint324 字节-2³¹~2³¹-1 / 0~2³²-1int64 / uint648 字节-2⁶³~2⁶³-1 / 0~2⁶⁴-1int / uint系统自适应32位系统4字节64位系统8字节适配对应平台范围编码规范满足业务取值需求的前提下优先选择占用内存更小的类型节省系统资源。2、浮点类型float324 字节精度约小数点后 6~7 位float648 字节精度更高日常开发优先使用浮点数底层存储存在微小精度偏差禁止直接使用 判断相等。3、字符类型byte、runebyte本质是 uint8对应ASCII码字符用于存储英文字符、符号rune对应UTF-8 Unicode字符专门用于存储中文、特殊符号字符使用单引号包裹底层存储为ASCII数值可直接参与数学运算。4、布尔类型 bool仅包含两个值true、false占用1个字节默认零值为 false不支持用数字0、1替代布尔值语法严格区分。5、字符串 string双引号包裹字符串为不可变常量无法直接修改内部字符支持转义字符\n换行、\t制表符、\斜杠、双引号多行字符串使用反引号 包裹原样保留格式不解析转义符。6、所有基础类型默认零值变量声明未手动赋值时Go会自动赋予默认零值无需手动初始化整型、浮点型默认值 0布尔类型默认值 false字符串默认空字符串 “”7、类型转换规则Go 不支持隐式类型转换不同类型之间必须手动强制转换转换格式目标类型(变量值)示例float64(num)大范围类型转小范围类型会出现数值截断、精度丢失、数据溢出问题布尔类型与数字、字符串之间禁止互相转换。8、字符串与基础类型互转strconv标准库1基础类型 转 string通用方式fmt.Sprintf(格式化样式, 变量)支持所有数据类型高性能方式使用 strconv 包 Format系列函数FormatInt、FormatFloat适合高频转换场景。2string 转为数字类型使用 strconv 包 Parse系列函数ParseInt、ParseFloat、ParseBool转换存在失败风险函数会返回error错误信息业务代码必须接收并判断转换结果。四、指针详解新手核心重点1、两个核心符号变量名取变量内存地址获取变量内存唯一编号*指针变量解引用通过内存地址获取对应存储的实际数据。2、指针使用特点可通过指针变量直接修改原始内存地址中存储的数据仅变量可获取地址常量、表达式无法取地址int、float、bool等基础类型为值传递函数内仅修改副本不影响原始变量若需在函数内修改外部原始变量必须传递变量指针地址。3、指针细节限制Go不支持指针偏移运算无法像C语言对指针做加减操作不同类型指针禁止互相赋值*int 和 *float32 属于完全不同类型指针变量本身也拥有独立的内存地址。4、值传递 地址传递Go语言所有参数传递均为值拷贝无引用传递普通变量传参拷贝变量值函数修改仅作用于副本原始数据不变指针变量传参拷贝内存地址通过地址可直接修改原始变量数据。五、运算符大全1、算术运算符±*/%取余、自增、–自减整数相除仅保留整数部分舍弃小数如需小数结果需先强制转为浮点类型自增、自减运算符仅支持后置写法不能参与表达式运算。2、赋值运算符-*/%3、关系运算符!所有关系运算结果均为布尔值true / false。4、逻辑运算符 逻辑与全真才真存在短路判断|| 逻辑或一真即真存在短路判断! 逻辑非取反操作。5、位运算符二进制运算按位与、|按位或、^异或、左移、右移6、特殊运算符取地址、*解引用7、运算符优先级单目运算符 算术运算 位移运算 关系运算 逻辑运算 赋值运算优先级不确定时建议用 () 包裹表达式避免运算逻辑出错。8、控制台用户输入通过 fmt.Scan(变量) 实现终端输入必须传入变量地址才能将输入值存入变量。六、流程控制语句分支 循环1、if 条件分支语法格式if 条件表达式 {}条件无需小括号包裹支持 if / else if / else 多分支嵌套判断可在if表达式内定义临时变量变量作用域仅当前分支有效。2、switch 多分支语句case默认自带break匹配成功后自动终止不会穿透后续case单个case可写入多个匹配值逗号分隔满足其一即匹配成功支持 fallthrough 关键字强制穿透执行下一个casedefault 分支所有case匹配失败时执行位置不受限制。3、for 循环Go唯一循环语句Go无while循环所有循环场景均使用for实现标准循环for 初始化; 条件; 自增 {}无限循环for {}for range 遍历专属遍历字符串、数组、切片、map自动返回下标与对应值。4、四大跳转关键字break终止当前循环跳出循环体可配合标签跳出多层循环continue终止本次循环直接进入下一次循环判断goto无条件跳转至指定标签可读性差禁止业务开发使用return终止当前整个函数直接退出函数执行。七、函数基础知识点1、函数定义格式func 函数名(形参列表) (返回值列表) {// 函数体逻辑return 返回数据}func 为函数定义关键字支持单返回值、多返回值适配复杂业务场景同类型形参可简写func sum(a, b int) int。2、函数调用特点函数调用时实参按顺序完成值拷贝传递函数名首字母大写包外可调用小写仅当前包私有Go不支持函数重载同一个包内禁止定义同名函数函数必须先定义后调用禁止前置调用。3、return 使用细节带返回值的函数必须保证所有代码分支都有return语句避免编译报错支持命名返回值可提前定义返回变量函数内直接赋值最终可省略return参数。八、学习总结与踩坑感悟Go语法规则严谨强制未使用变量、冗余导包直接报错能快速培养规范的编码习惯类型转换、指针传参是新手最大难点仅看理论无法吃透必须手写代码调试、观察内存变化字符串不可修改是Go核心特性新手极易出现修改字符串字符的报错问题Go所有传参均为值拷贝修改外部变量必须熟练运用指针内存原理手写笔记电子化整理的学习方式能深度梳理模糊知识点记忆效果远优于纯刷视频。九、后续学习规划后续将持续深耕Go进阶知识点逐一学习包管理、init函数、匿名函数、闭包、defer延迟函数、错误处理、数组、切片、map、结构体、面向对象等核心内容后续会持续更新进阶版万字笔记持续复盘迭代。

相关新闻

RAG 的下一形态:检索 + 推理时自我纠错

RAG 的下一形态:检索 + 推理时自我纠错

你的 RAG 系统搭完了:多路召回、Rerank、RAGAS 评估都做了。 还是有 20%-30% 的问题答错。 这不是检索精度的问题——检索是对的,但 LLM 在推理时用错了。 答案生成的那 100 毫秒里,系统对自己的输出没有任何质疑。 2026 年 ACL 最新论文 Cou…

2026/7/21 18:33:56阅读更多 →
跨境电商海外仓费用无国内发票,如何合规入账、税前扣除?

跨境电商海外仓费用无国内发票,如何合规入账、税前扣除?

摘要:本文针对深圳跨境电商卖家普遍面临的海外仓无票费用入账难题,系统解析了2026年新规下的合规解决方案。核心指出境外费用无需国内发票,依据国家税务总局2018年第28号公告,凭境外合规凭证即可入账扣除。文章详细列举了税局认可…

2026/7/21 10:16:23阅读更多 →
2026香港EMBA性价比榜单:创业资源丰富的香港EMBA,民企老板择校避坑测评

2026香港EMBA性价比榜单:创业资源丰富的香港EMBA,民企老板择校避坑测评

【客观测评声明】本文为独立商科教育测评内容,无硬性广告植入,基于2026年各院校公开官方数据,从民企创始人、科创企业高管真实需求出发,客观拆解各香港EMBA项目适配度、性价比及短板,为企业家择校提供真实参考。 不少…

2026/7/21 8:12:43阅读更多 →
游戏音频响度控制:从LUFS标准到Unity动态混音实战

游戏音频响度控制:从LUFS标准到Unity动态混音实战

最近在开发游戏项目时,你是否遇到过这样的困扰:明明精心设计了剧情和音效,但玩家反馈声音忽大忽小,严重影响沉浸感?特别是在角色扮演类游戏中,声音响度的不稳定直接破坏了情感传递的连贯性。这个问题在《月…

2026/7/22 10:49:44阅读更多 →
使用n8n构建高效科技新闻自动化工作流指南

使用n8n构建高效科技新闻自动化工作流指南

1. 为什么选择n8n构建科技新闻自动化工作流在信息爆炸的时代,科技从业者每天需要处理海量行业资讯。手动收集和整理不仅效率低下,还容易遗漏关键信息。n8n作为一款开源工作流自动化工具,完美解决了这个痛点。我最初接触n8n是在2020年&#xf…

2026/7/22 10:49:44阅读更多 →
Unity ECS架构实战:构建高性能2D射击游戏的核心原理与优化

Unity ECS架构实战:构建高性能2D射击游戏的核心原理与优化

1. 项目概述:为什么ECS是2D射击游戏的性能解药?如果你正在用Unity做2D射击游戏,尤其是那种屏幕上同时存在上百个敌人、子弹横飞的“弹幕”类游戏,大概率会遇到一个头疼的问题:帧率(FPS)随着游戏…

2026/7/22 10:49:44阅读更多 →
ADC数字比较器原理与应用:从硬件监控到嵌入式系统优化

ADC数字比较器原理与应用:从硬件监控到嵌入式系统优化

1. 项目概述:为什么我们需要ADC数字比较器?在嵌入式系统开发中,尤其是涉及传感器数据采集、电源管理或电机控制的场景,我们经常需要监控一个模拟信号是否超出了预设的安全范围。最直观的做法是让ADC持续采样,然后CPU不…

2026/7/22 10:49:44阅读更多 →
深入解析TI ISS成像子系统:数据互联与功耗管理机制

深入解析TI ISS成像子系统:数据互联与功耗管理机制

1. ISS成像子系统:一个嵌入式视觉处理器的“交通枢纽”与“能源管家” 在任何一个复杂的片上系统(SoC)里,尤其是处理实时视频流的图像处理芯片,数据如何高效、有序地流动,以及系统资源如何被精确地按需分配…

2026/7/22 10:49:44阅读更多 →
营销活动效果分析:从活动策划到数据复盘的全链路看板

营销活动效果分析:从活动策划到数据复盘的全链路看板

营销活动效果分析:从活动策划到数据复盘的全链路看板大家好,我是朱大喜!运营同学做一场营销活动,最怕的就是活动结束后才看到数据——"怎么就这效果?"其实如果你在活动策划阶段就把数据分析埋进去&#xff0…

2026/7/22 10:47:43阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →