全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📝 1 篇文章 20 道配套习题

GO变量与常量专题

专题说明

本专题系统讲解Go语言变量与常量的基础知识,帮助初学者掌握变量声明方式、初始化规则、作用域管理、类型转换技巧,以及常量定义与iota枚举机制。

学习目标

  1. 掌握Go变量的三种声明方式:var、短声明:=、类型推断
  2. 理解变量作用域与可见性规则
  3. 学会基本数据类型与类型转换
  4. 掌握常量定义与iota枚举使用
  5. 了解变量零值与初始化规则

学习内容

  • 基本数据类型:int、float、string、bool、byte、rune
  • 变量声明:var关键字、短声明:=、批量声明
  • 变量初始化:零值初始化、类型推断、显式赋值
  • 变量作用域:包级、函数级、块级作用域
  • 类型转换:显式转换、strconv包函数
  • 常量与iota:const定义、枚举模式、表达式规则

学习建议

  1. 从基本数据类型入手,理解每种类型的特点
  2. 对比var和:=两种声明方式的使用场景
  3. 重点理解Go的类型转换必须是显式的特点
  4. 通过实例练习iota枚举的各种模式
  5. 注意变量可见性规则(大小写区分导出/未导出)

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
单选题

Go语言中,以下哪个是基本数据类型?

A

array

B

slice

C

int

D

map

2
判断题

Go语言中的string类型是基本数据类型,且字符串是不可变的。

A

B

3
填空题

Go中int8的范围是 _________,uint8的范围是 ______。float32和float64遵循 _______ 标准。bool类型只有 ____________ 两个值。

4
单选题

Go语言中声明变量的关键字是?

A

let

B

var

C

define

D

declare

5
判断题

Go的短变量声明(:=)可以在函数外部使用。

A

B

6
填空题

Go声明变量有三种方式:使用 ______ 关键字声明、使用 ______ 短变量声明、使用 ______ 块声明。短变量声明只能在 ________ 使用,会自动 ______ 变量类型。

7
单选题

Go语言中,变量声明后如果不显式初始化,会被赋予什么值?

A

undefined

B

null

C

零值(类型的默认值)

D

随机值

8
判断题

Go中int类型的零值是0,bool类型的零值是false,string类型的零值是空字符串""。

A

B

9
填空题

Go变量声明后自动初始化为 ______,数值类型的零值是 ______,布尔类型是 ______,字符串是 ____________,指针和切片是 ______。显式初始化可以覆盖 ______

10
单选题

Go中初始化变量时,如果提供了初始值,是否必须显式指定类型?

A

必须显式指定类型

B

不需要,Go会自动推断类型

C

只有数值类型需要指定

D

只有字符串类型需要指定

11
多选题

Go中多变量初始化的正确方式包括?

A

var x, y int = 1, 2

B

x, y := 1, 2

C

var (x = 1; y = 2)

D

var x, y = 1, "hello"

E

var x int, y string = 1, "hello"

12
单选题

Go语言中定义常量使用哪个关键字?

A

var

B

let

C

const

D

final

13
判断题

Go中的iota是常量计数器,每新增一行常量声明,iota自动增加1。

A

B

14
填空题

Go的 ______ 是常量计数器,在 ______ 块中自动递增,起始值为 ______。可以使用 _____________ 创建位运算常量,跳过某些值使用 ______ 空标识符。

15
单选题

Go中进行类型转换的语法是?

A

类型名(变量)

B

(变量)类型名

C

cast(变量, 类型)

D

convert(变量, 类型)

16
判断题

Go语言不支持隐式类型转换,不同类型的变量不能直接赋值或运算。

A

B

17
多选题

关于Go类型转换,以下说法正确的是?

A

int和float64可以直接转换

B

string和int需要使用strconv包转换

C

不同类型必须显式转换才能运算

D

所有类型都可以互相转换

E

类型转换可能导致精度丢失

18
单选题

Go语言中,变量的作用域分为几个层级?

A

两个:全局和局部

B

三个:包级、函数级、块级

C

四个:包级、文件级、函数级、块级

D

只有一个全局作用域

19
判断题

Go中内部作用域可以声明与外部作用域同名变量,这称为变量遮蔽(variable shadowing)。

A

B

20
填空题

Go变量可见性遵循 ______ 规则,包级变量名 ______ 开头可被外部包访问,______ 开头仅在当前包内可见。函数内变量 ______ 有效,块级变量仅在 ______ 块内有效。

← 上一个专题 GO函数专题
下一个专题 → GO复合数据类型专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库