当前位置: 首页 > news >正文

【GO语言基础】变量常量

系列文章目录

【Go语言学习】ide安装与配置
【GO语言基础】前言
【GO语言基础】变量常量
【GO语言基础】数据类型
【GO语言基础】运算符


文章目录

  • 系列文章目录
  • 常量和枚举
  • 变量声明
  • 全局变量声明
    • 大小写敏感
  • 总结


常量和枚举

使用const关键字声明常量,并为每个常量提供显式的值。Go语言没有显式的枚举类型,但可以使用常量模拟枚举。

package mainimport "fmt"
//表示星期
const (Monday    = 1Tuesday   = 2Wednesday = 3Thursday  = 4Friday    = 5Saturday  = 6Sunday    = 7
)func main() {fmt.Println(Monday)fmt.Println(Tuesday)fmt.Println(Wednesday)fmt.Println(Thursday)fmt.Println(Friday)fmt.Println(Saturday)fmt.Println(Sunday)
}

变量声明

变量必须在使用之前声明。可以使用短变量声明:=来同时声明和初始化变量。

package mainimport "fmt"func main() {//格式:变量 类型 = 值var num int = 18fmt.Println("age=", num)//使用类型默认值:未赋值使用默认值var num2 float64fmt.Println(num2)//根据赋值变为可变类型var num3 = "tom"fmt.Println(num3)//省略赋值方式sex := "男"fmt.Println(sex)//多变量声明方法var n1, n2, n3 intfmt.Println(n1)fmt.Println(n2)fmt.Println(n3)//多变量声明并赋值var n4, sex1, n6 = 10, "男", 7.8fmt.Println(n4)fmt.Println(sex1)fmt.Println(n6)//多变量声明并赋值简写方式age, height := 18, 172fmt.Println(age)fmt.Println(height)
}

在这里插入图片描述

全局变量声明

package mainimport "fmt"// 全局变量定义方法1
var n7 = 1
var n8 = 11// 全局变量定义方法2
var (n9  = 500n10 = "男"
)
//函数
func main() {fmt.Println(n7)fmt.Println(n8)fmt.Println(n9)fmt.Println(n10)
}

在这里插入图片描述

大小写敏感

Go语言是大小写敏感的,意味着variable和Variable被视为不同的标识符。导出的标识符(即首字母大写的标识符)可以在其他包中访问。

package mainimport "fmt"//大小写敏感
var new1 int = 10
var NEW1 int = 20func main() {fmt.Println(new1, NEW1) //测试代码
}

在这里插入图片描述

代码格式化:
使用gofmt命令或集成开发环境(IDE)的自动格式化功能,保持一致的代码风格,提高代码的可读性。(使用gofmt可以对代码格式化在前面的命令中也有)

gofmt -w ./test.go

在这里插入图片描述

总结

GO语言中变量和常量的命名规则是以字母或下划线开头,后面可以跟字母、数字或下划线。另外,GO语言是一种静态类型语言,变量的类型在编译时确定,而不是在运行时。

http://www.lryc.cn/news/159829.html

相关文章:

  • C++QT day3
  • AI时代的较量,MixTrust能否略胜一筹?
  • Ubuntu22.04 安装 MongoDB 7.0
  • 【日志技术——Logback日志框架】
  • mysql存储过程和函数
  • 【HDFS】Hadoop-RPC:客户端侧通过Client.Connection#sendRpcRequest方法发送RPC序列化数据
  • Java基于 SpringBoot 的车辆充电桩系统
  • excel表导出
  • YOLOv8 快速入门
  • HJ48 从单向链表中删除指定值的节点
  • Java缓存理解
  • MHA高可用及故障切换
  • 1000元订金?华为折叠屏手机MateX5今日开始预订,售价尚未公布
  • Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用
  • 手写Mybatis:第10章-使用策略模式,调用参数处理器
  • pair 是 C++ 标准库中的一个模板类,用于存储两个对象的组合
  • More Effective C++学习笔记(5)
  • SpringMVC之CRUD(直接让你迅速完成部署)
  • Github Copilot连接不上服务器
  • (数字图像处理MATLAB+Python)第十二章图像编码-第三、四节:有损编码和JPEG
  • 基于SpringBoot + Vue的项目整合WebSocket的入门教程
  • AI智能机器人的语音识别是如何实现的 ?
  • RabbitMQ: 死信队列
  • 232 - Crossword Answers (UVA)
  • MySQL表结构设计规范
  • 如何利用ProcessOn 做资产管理流程图
  • geopandas 笔记:geometry上的操作汇总
  • 【MongoDB】Ubuntu22.04 下安装 MongoDB | 用户权限认证 | skynet.db.mongo 模块使用
  • Python对象序列化
  • jmeter 准确的吞吐量定时器 Precise Throughput Timer