惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

ZkeqのCoding日志

年度|我的2025年度总结 从想法到落地:我是如何在两个小时的时间里做出一个人格完善站的。(支持大家随意提问情感问题) Hexo 博客搭建:一份写给新手的完全指南 云声计划 | 如何使用宝塔最新版 + Vercel,来部署一个私人的影视站+音乐站 Coding | 分别用2天半和9天,我用 ClaudeCode 写出了自己的影视站和音乐站 Coding | 记一次使用 Claude Code 开发影视站&音乐站的开发历程 年度|我的2024年度总结 日常|IMYAI文本处理工具箱开源随记 项目课 | Vue.js开发印象云笔记 前端体系|Promise专题 - 原理以及是什么 KubeEdge | [进阶] KubeEdge高可用环境搭建 KubeEdge | [基础] KubeEdge架构设计及其环境搭建 KubeEdge | 边缘计算基本功--云原生 KubeEdge | 多视角认识边缘计算 KubeEdge | 边缘计算,其实就在你身边 章节起手式 (转) Kubernetes | 【尚硅谷】Kubernetes(k8s)入门到实战教程丨全新升级完整版 Kubernetes | 高可用的 K8S 集群构建 [完结] Kubernetes | 证书可用时间修改 Kubernetes | Helm 及其它功能性组件
Golang | 山竹记账 Go 后端版学习笔记
Zkeq · 2025-08-25 · via ZkeqのCoding日志

Hello GoLang

执行 Go 命令

  • 运行 go version 得到 go version go1.xx.x linunx/amd64

创建 Hello 项目

  • pwd 得到 /workspaces/oh-my-env
  • mkdir hello; code hello 得到新窗口,关闭旧窗口
  • go mod init github.com/frankfang/hello 用于初始化目录
    如果没有看到 go.mod,点击 Refresh Explorer
  • 创建 main.go
  • go build . && ./hello 你也可以用 go run . 代替这两句话

创建 main.go

println 函数不常用,可以用 fmt.Println, 输入 fmt.pl 即可补全

运行 go run .

编译到 Windows 命令

Go 语法

变量

:= 反而不能指定了类型, 但是用的人更多

自己测试

常量

猜猜结果

iota 总结

iota 即希腊字母 ι

  • iota 是其英文发音
  • GoLangiota 默认为 0,每行加 1
  • 使用 iota 可以减少 hard code(写死的代码)
  • 只能用在 const ()
  • 每个 const 都会重置

for 循环

for 循环特点

JS 不一样的地方

  • 不加 ( ),加了会被删
  • for0 个表达式等价于 JS 的 while(true)
  • for1 个表达式等价于 JSwhile(condition)
  • for3 个表达式等价于 JSfor(初始化, 判断, 后续)

if else

if else 特点

JS 不一样的地方

  • 推荐不加 ( )
  • if 接一个表达式等价于 JSif(condition)
  • if 接两个表达式没有等价的 JS 常见写法

switch case

switch case 判断类型
switch case 特点

JS 不一样的地方

  • 不推荐加 ( )
  • 不要加 break
  • 一个 case 可以有多个值,用逗号隔开

函数

  • 函数里面不能声明有名字的函数

自己练习

可变参数函数

匿名函数

函数特点

JS/TS 不一样的地方

  • 返回值可以提前定义名字,return 可缩写
    - numbers ...int 表示多个 int 参数组成的数组
  • 立即执行函数不需要 Hack

数据类型

简单值类型

  • 数字(14种):int32float64
  • 字符串
  • 布尔

复杂值类型

  • 结构体(struct
  • 数组(定长):[3]int

引用类型

  • 指针:*int
  • 切片:[]int
  • 哈希表:map[string]int
  • 函数
  • 通道:chan int
  • 接口:interface {}

值类型

  • 该类型的变量直接存放值

结构体

自己练习

把结构体当做参数

实在要改的话可以这样改

* 与 &

用于类型

  • var a *int 表示 aint 的地址
  • 此时称 a 为指针

用于值

  • &b 表示 b 的地址
  • *c 表示指针 c 对应的值

讲师: 我个人认为,用 var a &int 表示 a 存 int 的地址,更符合语义

把结构体当做参数2

结构体的特点

JS 的不同之处

  • 结构体是值类型,不是引用类型,不能与 JS 的对象进行类比
  • Go 只支持传值,不过可以把地址当做值 modify(&p1)
  • 结构体支持 label,用于各种功能;JS 没有 label

结构体变字符串

数组(定长)

自己练习

数组特点

不怎么用到数组, 不怎么关注就行了

JS 的不同之处

  • 数组是值类型,不是引用类型,不能与 JS 的数组进行类比
  • 数组长度是固定的
  • 可以用 len(a) 获取数组的长度,而不是 a.length

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志