首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Golang | 山竹记账 Go 后端版学习笔记

Golang | 山竹记账 Go 后端版学习笔记

作者头像
Zkeq
发布2025-08-26 09:05:52
发布2025-08-26 09:05:52
750
举报
文章被收录于专栏:ZkeqZkeq

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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hello GoLang
    • 执行 Go 命令
    • 创建 Hello 项目
  • Go 语法
    • 变量
    • 常量
      • iota 总结
    • for 循环
      • for 循环特点
    • if else
      • if else 特点
    • switch case
      • switch case 判断类型
      • switch case 特点
    • 函数
    • 可变参数函数
    • 匿名函数
      • 函数特点
    • 数据类型
    • 值类型
    • 结构体
    • 把结构体当做参数
    • * 与 &
    • 把结构体当做参数2
    • 结构体的特点
    • 结构体变字符串
    • 数组(定长)
    • 数组特点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档