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

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

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日志