golang初识 和 变量,常量,iota
1|0一、go语言与python
1|11. go语言
- go语言语法固定,没有那么多花里胡哨的写法,语法也简单。一共25个关键字,37个保留字
- 本身支持高并发,数据计算,做后端天然有优势。(云计算,区块链,网络服务行业,新兴的公司基本都用go语言)
- go为编译型语言(先编译再执行)、强类型语言(定义之好类型后的变量是不能赋值成别的类型的值的,比如刚开始定义的string类型,不能再后面赋值为其他类型的值,而python可以随意赋值),执行速度更快,go项目在不同操作系统上就会先被编译成不同格式的执行文件,如windows上被编译成
.exe 后缀
的可执行文件。 - go项目的整个程序只有main包(也就是主包)才是执行的入口,而python每一个py文件都可以是入口,都可以直接执行
- goland为go开发常用的ide,类似pycharm。vscode也可以开发go
1|22. python
-
开发效率高,所以周期短
-
爬虫加数据分析
-
人工智能
1|33. 下载安装
- 安装包下载地址为:https://golang.org/dl/ (需要FQ)。如果打不开可以使用这个地址:https://golang.google.cn/dl/。
(1)Linux安装
1、下载二进制包:go1.13.3.linux-amd64.tar.gz
2、将下载的二进制包解压至 /usr/local目录。
3、将 /usr/local/go/bin 目录添加至PATH环境变量:
(2)Windows安装
-
Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.13.3.windows-amd64.msi)的安装包来安装。
-
默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效
(3)Mac安装
- Mac下直接双击go1.13.3.darwin-amd64.pkg,一路下一步安装即可
1|44. go语言的基本语法
-
package 后面跟的是包名,用来声明当前这个文件是属于哪个包。如果是属于main包,main包为整个程序的入口。
-
go语言在命令行的两种运行方式
-
先生成编译文件,再手动执行编译文件
go build 文件名.go
—————> windows下会把该文件打包成一个.exe
文件,再运行该.exe
文件
-
命令行直接执行
go run 文件名.go
命令即可(相当于对编译和执行命令的封装)
-
-
import 包名
用来导入的包 -
func main()
是整个程序的入口,没有参数。 -
在函数外部只能放置标识符(即 变量,常量,函数,类型)的声明
-
变量定义之后必须使用(包级别的变量可以不使用),否则报错(python中用不用都没事)
-
导的包也必须使用,不使用也报错(python中用不用都没事)
-
函数外的每个语句都必须以关键字开始(var、const、func等)
-
单行注释用
//
,多行注释用/**/
-
单引号、双引号、反引号的作用
-
单引号在go语言中表示golang中的rune(int32)类型,单引号里面是单个字符,对应的值为该字符对应的ASCII值
-
-
双引号在go语言中双引号里面可以是单个字符也可以是字符串,双引号里面可以有转义字符,如
\n、\r
等,对应go语言中的string类型 -
-
反引号中的字符表示其原生的意思,在反引号中的内容可以是多行内容,不支持转义
-
-
1|55. 简单的go程序脚本
2|0二、变量相关
- go中,变量不能重复声明,但是可以重新赋值,同一个变量名在不同作用域中可以重复声明
2|12. 标识符和关键字
-
标识符就是python中的变量名, 由字母数字和
_
(下划线)组成,并且只能以字母和_
开头 。 -
关键字就是有各种特定作用的名字。如python中的
if def return
等等。go语言里有25个关键字,并且还有37个保留字。我们不建议用关键字或保留字当做变量名即标识符。
2|23. 变量声明
- 类似前端JavaScript的变量声明方式
(1)普通声明
i. 不赋值声明
-
已经声明的变量若未对其进行初始化,他们都会有一个默认值
- 数字类型是
0
,字符串是空字符串, 布尔型变量默认为false
。 切片、map、指针、接口、channel 只声明,未初始化值时都默认为nil
,某些函数返回error时,无报错时的error恒等于nil
- 数字类型是
ii. 赋值声明
(2)不指定类型声明
-
如果变量有初始值,那么 Go 能够自动推断具有初始值的变量的类型。因此,如果变量有初始值,就可以在变量声明中省略
类型
(3)简短声明
-
在函数内部,可以使用更简略的
:=
方式声明并初始化变量 -
简短声明要求 := 操作符左边的所有变量都有初始值,否则执行会报错
-
简短声明的语法要求 := 操作符的左边至少有一个变量是尚未声明的,否则执行会报错
-
简短声明看似可以重新定义之前定义过的变量,实际上简短声明只是对之前定义的变量进行改值
2|34. 匿名变量(空白符)
-
类似python中的解压缩时,用
_
代替不需要的值。 匿名变量用一个下划线_
表示,用来接收舍弃的值,且无法调用_
-
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。 (在
Lua
等编程语言里,匿名变量也被叫做哑元变量。
2|45. 注意小结
-
函数外的每个语句都必须以关键字开始(var、const、func等)
-
**
:=
不能使用在函数外 **
_
多用于占位,表示忽略值,无法使用
3|0三、常量
-
什么是常量
-
常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值
-
声明常量只是把
var
换成了const
,**常量在定义的时候必须赋值,且常量的值在编译的时候就是确定下来的,因此 等号 右侧不能出现需要计算的表达式 **
4|0四、iota(暂时了解)
-
什么是
iota
iota
是go语言的常量计数器,只能在常量的表达式中使用iota
在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota
计数一次iota
**可理解为const语句块中的行索引 **
-
5种实例:
__EOF__

本文链接:https://www.cnblogs.com/Mcoming/p/11946232.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!