首页/ 学科题库/ golang/ GO变量与常量专题
golang 专题精讲

GO变量与常量专题

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中int类型的零值是0,bool类型的零值是false,string类型的零值是空字符串""。

A

对

B

错

2
判断题

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

A

对

B

错

3
判断题

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

A

对

B

错

4
判断题

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

A

对

B

错

5
判断题

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

A

对

B

错

6
判断题

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

A

对

B

错

单选题
7
单选题

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

A

undefined

B

null

C

零值(类型的默认值)

D

随机值

8
单选题

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

A

类型名(变量)

B

(变量)类型名

C

cast(变量, 类型)

D

convert(变量, 类型)

9
单选题

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

A

两个:全局和局部

B

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

C

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

D

只有一个全局作用域

10
单选题

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

A

必须显式指定类型

B

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

C

只有数值类型需要指定

D

只有字符串类型需要指定

11
单选题

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

A

array

B

slice

C

int

D

map

12
单选题

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

A

var

B

let

C

const

D

final

13
单选题

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

A

let

B

var

C

define

D

declare

多选题
14
多选题

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"

15
多选题

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

A

int和float64可以直接转换

B

string和int需要使用strconv包转换

C

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

D

所有类型都可以互相转换

E

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

填空题
16
填空题

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

17
填空题

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

18
填空题

Go声明变量有三种方式:使用 关键字声明、使用 短变量声明、使用 块声明。短变量声明只能在 函数内部 使用,会自动 推断 变量类型。

19
填空题

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

20
填空题

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

参考答案
1.正确 2.正确 3.正确 4.正确 5.错误 6.正确 7.C 8.A 9.B 10.B 11.C 12.C 13.B 14.A;B;D 15.A;B;C;E 16.iota;const;0 17.零值;0;false 18.var;:=;var() 19.-128到127;0到255;IEEE754 20.作用域;大写;小写
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 GO函数专题 下一个专题 → GO复合数据类型专题