go 笔记

  1. 安装goland,注意版本是2024.1.1,不是2024.2.1,软件下载地址也在链接中提供了

  2. 'go' 不是内部或外部命令,也不是可运行的程序

    或批处理文件。

在 Windows 搜索栏中输入"环境变量",然后选择"编辑系统环境变量"或"编辑环境变量"。

在系统属性窗口中,点击"环境变量"按钮。

在"系统变量"区域,找到并选择"Path"变量,然后点击"编辑"。

在弹出的窗口中,点击"新建",然后输入 Go 的 bin 目录的路径,例如 C:\Go\bin。

点击"确定"保存更改。

  1. 枚举用 iota自动就依次排号变成枚举了,不用你赋值了。枚举就是变量代替正整数

    有类型的枚举的话,就不能 float64+ int了,因为有严格的类型校验,没指明类型的可以

  2. 字符串拼接可以用 +

数据不可变,它的值改变不了

字符串不可变: 意味着你不能改变字符串内部的单个字符。

变量可变: 变量本身可以被重新赋值,指向另一个字符串。

go 复制代码
var newName string
newName = name + " " + "day"
fmt.Println(newName)
newName += "s"
fmt.Println(newName)

从行为上看,newName 的内容变了,但这是因为你指向了一个全新的字符串。在 Go 中,这种操作不是修改原有字符串,而是创建了一个新的字符串,并让 newName 指向这个新的字符串。原有的字符串 "lucky day" 仍然存在于内存中,直到 Go 的垃圾收集器决定回收它。

  1. 结构体就是复合类型的聚合
    指针,如果p = &s(结构体) ,通过取地址运算符取到指针, 那么p就能像 s一样点出来所有内含的字段
  2. 数组

长度固定,存储同一类型的数据。数组是值传递的,不是引用传递,每次作为参数都是值传递,数组太大,复制会引起性能损耗。解决方案就是使用切片

复制代码
切片  【指针,len, cap容量     cap>=len】

可以动态改变长度。len就是切片里元素的个数,

切片是对底层数组的描述的意思是当改动切片中的某个值,从切片用中括号截取的切片对应的值也会改变,它从根上就变化了。

容量cap就是你把原切片切出一部分,容量就是原容量减去中括号前面切去的就是现在的容量

  1. golang是编译语言,python是脚本语言

脚本语言:适用于快速开发、自动化任务、Web开发和应用程序扩展。它们的价值在于提高开发效率和灵活性。

编译语言:适用于高性能应用、系统编程、大型企业应用和安全性要求高的场景。它们的价值在于提供高效的执行速度和对底层系统的控制。

相关推荐
eggwyw4 分钟前
C++相交链表和反转链表详解
开发语言·c++
Wang's Blog9 分钟前
Java 项目实战:交友项目 - 保存访客记录
java·开发语言·交友
Raas10040 分钟前
AI网关如何接入?MAI Gateway部署实操教程
java·开发语言·人工智能·gateway·ai网关·mai gateway·企业级产品
小小龙学IT1 小时前
Go 语言 pprof 性能剖析与调优深度解析:把“卡在哪“变成一张可执行的数据图
开发语言·后端·golang
ZZHow10241 小时前
神经网络与深度学习笔记_Day1
人工智能·pytorch·笔记·python·深度学习·神经网络·机器学习
starzy19901 小时前
Scala Set深度解析:为什么大数据开发离不开它?
大数据·开发语言·scala
ACP广源盛139246256731 小时前
选型笔记:HDMI2.1 四进一出切换中继方案 GSV6705@ACP 评估
笔记·硬件架构·硬件工程·视频·国产芯片
Z21-X1 小时前
云原生运维实战笔记:华为云存储类服务全景解析——EVS、OBS、SFS与CBR深度实践
运维·笔记·学习·云原生·华为云
熊猫钓鱼>_>2 小时前
三方库 NDK 原生模块跨平台适配与调试【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙心迹
1314lay_10072 小时前
ABAP 程序性能优化总结
经验分享·笔记·性能优化