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

go语言基础教程:【1】基础语法:变量

【1】基础语法

1. 注释
package mainimport "fmt"func main() {// 单行注释// 这是一个终端打印文本的功能/*这是一个多行注释这是一个多行注释这是一个多行注释*/fmt.Println("hello world!")
}
2. 变量
(1)变量的基本使用
package mainimport "fmt"func main() {//(1)变量的基本使用var x = 100fmt.Println(x)var y = 200fmt.Println(y)fmt.Println(x + y)var z = x + yfmt.Println(z)}
(2) 变量的赋值
//(2) 变量的语法
// var 变量名 类型 = 表达式   先声明,再赋值
var x int8 // 声明一个int8类型的变量
x = 100    // 给变量赋值
fmt.Println(x)
var y = 200 // 声明一个int类型的变量,并赋值
fmt.Println(y)// 简写形式
z := 300 // var z = 300
fmt.Println(z)var a, b, c = 100, 200, 300
fmt.Println(a, b, c)

扩展

案例1

var x = 100
var x = 200
fmt.Println(x)

打印我们发现报错了

请添加图片描述

  1. 重复声明变量错误:

代码中连续两次使用var x = ...声明同一个变量x,这在Go语言中是不允许的

Go不允许在同一作用域内重复声明同名变量

  1. 正确的做法应该是:
var x = 100  // 声明并初始化
x = 200      // 重新赋值
fmt.Println(x)

或者使用不同的变量名

案例2

var a, b = 100, 200
var c = a + b
fmt.Println(c)

案例3

var a = 100
var b = a
a = 200
fmt.Println(a, b)

打印出来是 200 100

var b = a 指的值拷贝,并不是 b指向a的内存

(3)匿名变量

匿名变量即没有命名的变量,在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。匿名变量用一个下划线_表示。

// 匿名变量
var _, b = 100, 200// _ 是一个特殊的标识符,任何赋予它的值都会被抛弃
// 因此,_ 通常用于忽略调用函数的返回值
// 例如:fmt.Println()函数输出结果后,会将结果丢弃,所以使用 _ 来接受这个结果
fmt.Println(b)

匿名变量不占用命名空间,不会分配内存
让代码非常清晰,基本上屏蔽掉了可能混淆代码阅读者视线的内容,从而大幅降低沟通的复杂度和代码维护的难度。

(4) 变量的命名规范

变量命名是需要遵循一定的语法规范的,否则编译器不会通过。

1、变量名称必须由数字、字母、下划线组成。
2、标识符开头不能是数字。
3、标识符不能是保留字和关键字。
4、建议使用驼峰式命名,当名字有几个单词组成的时优先使用大小写分隔
5、变量名尽量做到见名知意。
6、变量命名区分大小写

go语言中有25个关键字,不能用于自定义变量名

请添加图片描述

还有30多个预定义的名字,用于内建的常量、类型和函数

请添加图片描述

http://www.dtcms.com/a/296531.html

相关文章:

  • Verilog 提取信号的上升沿或者下降沿
  • Python中常用标准库(时间库、随机库、正则表达式)
  • shell 正则表达式
  • Golang 语言中的指针介绍
  • 高版本Android跨应用广播通信实例
  • 40、鸿蒙Harmony Next开发:UI场景化-组件截图(ComponentSnapshot)
  • C++第一节课入门
  • Qt 元对象系统(Meta-Object System)解析
  • 前端安全问题怎么解决
  • 企业资产管理智能化:IT运维如何借力数字化管理提效避坑?
  • 配置DNS服务的正反向解析
  • 详解FreeRTOS开发过程(六)-- 队列
  • ESP32- 项目应用1 智能手表之更新时间 #3
  • Linux系统常用命令
  • 浅析飞算JavaAI “撤回需求” 功能:让需求管理更灵活
  • 【C++】类和对象(中)
  • 【三桥君】Windows系统如何临时关闭“Windows安全中心实时保护”?解析Win10和Win11关闭方法
  • C++中std::string和std::string_view使用详解和示例
  • Lua(字符串)
  • 生成式人工智能展望报告-欧盟-03-经济影响
  • pyautogui 置信度问题
  • 拖拽同时支持Y轴滚动
  • 开立医疗2026年校园招聘
  • openbmc 日志系统继续分析
  • 行为型模式-协作与交互机制
  • 华为仓颉编程语言的表达式及其特点
  • mac llama_index agent算术式子计算示例
  • 力扣刷题(第九十七天)
  • 强化学习入门三(SARSA)
  • 专题:2025微短剧行业生态构建与跨界融合研究报告|附100+份报告PDF汇总下载