Java 开发者 1 天看懂 Go 核心语法(对照表 + 可运行代码)
本文为《Java工程师转Go实战》连载第 3 篇 / 共 20 篇上一篇从 Maven 到 go mod下一篇Java 只有引用Go 的指针到底是什么类比开场学 Go 最快的方式不是背手册而是 constantly 问自己「这句 Java 代码Go 里怎么写」下面这张对照表 可运行代码够你一天建立肌肉记忆。一、基础语法对照速查特性JavaGo入口public static void mainfunc main()变量int x 1;x : 1或var x int 1常量finalconst类class User {}type User struct {}方法void save()func (u *User) Save()可见性public/private首字母大小写继承extends组合 embedding接口interfaceinterface隐式实现空值nullnil集合ListTslice、map循环for/while只有for可模拟 while异常try/catch多返回值error泛型一直有Go 1.18[]T、map[K]V包管理import com.xxximport github.com/xxx二、变量与类型JavafinalStringname张三;intage28;varlistList.of(1,2,3);Goname:张三// 短变量声明最常用varageint28list:[]int{1,2,3}constMaxRetry3注意:只能在函数内使用包级变量用var。三、控制流ifGo 的 if 可以带初始化语句iferr:doSomething();err!nil{returnerr}// err 作用域仅在 if 块内——Java 没有等价写法但很实用forGo 没有 while用 for 代替// 经典三段式fori:0;i10;i{fmt.Println(i)}// 等价 whilen:0forn10{n}// 无限循环for{break}switch默认不 fallthroughswitchday{caseMon,Tue:fmt.Println(工作日)caseSat,Sun:fmt.Println(周末)default:fmt.Println(其他)}// 无需 break除非显式 fallthrough四、函数多返回值是常态JavapublicOptionalUserfindById(Longid){// ...}GofuncFindByID(idint64)(*User,error){ifid0{returnnil,errors.New(invalid id)}returnUser{ID:id},nil}user,err:FindByID(1)iferr!nil{// handle}习惯养成Go 里几乎每个可能失败的操作都返回error不是异常。五、集合slice 与 mapslice动态数组类似 ArrayListnums:[]int{1,2,3}numsappend(nums,4)// 追加sub:nums[1:3]// 切片 [2,3]共享底层数组fmt.Println(len(nums),cap(nums))mapm:map[string]int{alice:100,bob:90,}m[carol]85score,ok:m[alice]// ok 表示 key 是否存在if!ok{// not found}六、结构体与方法typeUserstruct{IDint64Namestring}// 值接收者func(u User)Greet()string{returnHello, u.Name}// 指针接收者要修改字段时用func(u*User)Rename(namestring){u.Namename}接收者类比 Java何时用值(u User)操作副本只读、小结构体指针(u *User)操作 this修改状态、大结构体七、完整可运行示例packagemainimport(fmtstrings)typeUserstruct{IDint64Namestring}func(u*User)NormalizeName(){u.Namestrings.TrimSpace(u.Name)}funcFilterAdults(users[]User,minAgeint)[]User{// 简化示例真实场景用 struct 带 Age 字段returnusers}funcmain(){u:User{ID:1,Name: 李四 }u.NormalizeName()fmt.Printf(%v\n,u)scores:map[string]int{go:95,java:90}fork,v:rangescores{fmt.Println(k,v)}}八、Java 人第一天易错点unused import 编译报错— Go 不允许未使用的 import分号— 编译器自动插入一般不手写大小写导出—User可导出user不可slice 截取共享底层数组— 改 sub 可能影响原 slicemap 并发读写— 会 panic需sync.Map或加锁 面试追问:和var区别:是声明赋值类型推断var可包级声明可只声明不赋值零值。Go 有哪些零值数字 0、bool false、string “”、指针/slice/map/channel/interface 为 nil。slice 和 array 区别[3]int是定长数组值类型[]int是切片引用底层数组可动态 append。 一句话总结把 class 换成 struct、把异常换成 error、把 ArrayList 换成 slice——Go 的骨架一天就能搭起来难的是后面并发和工程习惯。

相关新闻

好用的开放式耳机有哪些?2026年值得选购的高性价比开放式耳机推荐

好用的开放式耳机有哪些?2026年值得选购的高性价比开放式耳机推荐

近年来,开放式蓝牙耳机因其“不入耳、佩戴舒适、听感自然”的特性,在运动、通勤、办公等场景都可以看到很多人佩戴。相比传统的入耳式耳机,开放式蓝牙耳机在提供舒适佩戴体验的同时还能保持耳道舒畅,对耳道敏感的人群友好&#xf…

2026/7/18 22:10:50阅读更多 →
序列化 JSON 时崩了?99% 是 EF 延迟加载惹的祸,三种解法拿走不谢

序列化 JSON 时崩了?99% 是 EF 延迟加载惹的祸,三种解法拿走不谢

一、先看一个“翻车”现场假设我们有这么三层数据:主表:fin_voucher_rule_master(凭证规则)明细表:fin_voucher_rule_detail(规则明细)条件表:fin_voucher_rule_condition&#xff0…

2026/7/18 22:08:50阅读更多 →
先腾Stats:数据驱动制造,国产统计分析的新选择

先腾Stats:数据驱动制造,国产统计分析的新选择

在现代制造业与科研领域,数据统计分析软件已成为企业提升质量管理水平、优化生产流程、支撑科学决策不可或缺的基础工具。从生产过程中的质量波动监控,到研发阶段的工艺参数验证,再到多维度数据的深度挖掘,统计分析软件贯穿了企业…

2026/7/18 22:08:50阅读更多 →
记录一次种牙:半年后的真实感受

记录一次种牙:半年后的真实感受

种完牙半年了,记录一下感受。种之前缺了一颗牙好几年,一直拖着。主要是怕疼、怕花钱、怕折腾。后来旁边的牙开始歪了,才下定决心。种之后最大的变化是吃饭方便了。以前缺牙的地方不敢嚼,现在两边都能正常用。恢复比想象中快&#…

2026/7/18 23:43:03阅读更多 →
从采集到渲染:直播APP开发中视频美颜SDK工作原理详解

从采集到渲染:直播APP开发中视频美颜SDK工作原理详解

在直播行业快速发展的今天,用户对于直播画面的要求已经不再局限于“能看清”。无论是直播带货、在线教育、社交直播,还是企业私域直播,高清、自然、流畅的视频体验已经成为平台竞争的重要因素。而在这些看似简单的“实时美化”背后&#xff0…

2026/7/18 23:43:03阅读更多 →
【计算机毕业设计】基于javaweb的线上点餐系统的设计与实现

【计算机毕业设计】基于javaweb的线上点餐系统的设计与实现

1.系统介绍面临着运营效率低、数据管理难等问题,因此开发一套功能完善的线上点餐系统具有重要的现实意义。本系统针对餐饮消费场景中用户、商家、平台管理的核心痛点,旨在构建一个集点餐、运营、管控于一体的综合性线上点餐平台。本系统采用 Java 语言开…

2026/7/18 23:43:03阅读更多 →
企业级图片流水线落地失败率高达67%?用Cursor重构图像预处理链路的5个避坑节点(含GitHub完整CI/CD示例)

企业级图片流水线落地失败率高达67%?用Cursor重构图像预处理链路的5个避坑节点(含GitHub完整CI/CD示例)

更多请点击: https://kaifayun.com 第一章:企业级图片流水线失败率的根源诊断 企业级图片流水线在高并发、多格式、跨终端场景下频繁出现任务超时、元数据丢失、缩略图畸变等异常,其失败率并非由单一环节导致,而是多个隐性耦合点…

2026/7/18 23:43:03阅读更多 →
国产 AI 智能体桌面端实操:新 UI、内嵌浏览器/终端与文件浏览怎么用

国产 AI 智能体桌面端实操:新 UI、内嵌浏览器/终端与文件浏览怎么用

国产 AI 智能体 国产开源智能体 个人AI助手 OpenOcta桌面实操开篇:为什么桌面端要「同屏」浏览、命令行与文件同屏:浏览 终端 文件选一款 国产 AI 智能体,很多人先问「模型强不强」「能不能接微信」。真正用起来之后,更…

2026/7/18 23:43:03阅读更多 →
AI 推理批处理调度:合批策略、延迟约束与资源碎片整理

AI 推理批处理调度:合批策略、延迟约束与资源碎片整理

AI 推理批处理调度:合批策略、延迟约束与资源碎片整理 一、你的推理服务 GPU 利用率 15%,但 P99 延迟却到了 5 秒 GPU 推理服务有个反直觉的现象:单个请求 100ms,并发 10 个请求 P99 到了 5 秒。原因不是 GPU 不够快&#xff0c…

2026/7/18 23:41:03阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/18 10:49:13阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/18 8:49:08阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/18 14:49:24阅读更多 →
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:14阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:14阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

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

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

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

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

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

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

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

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

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

2026/7/18 18:49:35阅读更多 →