Go语言常见面试题及详细答案(实战向).docxVIP

  • 0
  • 0
  • 约5.56千字
  • 约 8页
  • 2026-10-12 发布于河北
  • 举报

Go语言常见面试题及详细答案(实战向).docx

Go语言常见面试题及详细答案(实战向)

一、基础语法与变量常量

1.Go语言中var、const、short声明(:=)的区别?

答案:

var:用于声明变量,可全局、可函数内使用。支持只声明不赋值,变量默认赋予零值(int=0、string=、bool=false、指针=nil),声明后可重复修改值。

const:用于声明常量,全局/函数内均可。声明时必须赋值,且值不可修改,仅支持基础数据类型(数值、字符串、布尔),无默认零值。编译期确定值,运行期不可变。

:=短变量声明:仅能在函数内部使用,不能全局声明。自动推导变量类型,必须初始化赋值,不支持只声明不赋值。短声明会优先在当前作用域创建新变量,而非覆盖外层变量。

2.Go语言变量零值有哪些?零值的意义是什么?

答案:

所有变量声明后未手动赋值,都会赋予系统默认零值,核心类型零值如下:

数值类型(int、float):0、0.0

字符串:空字符串

布尔:false

指针、切片、map、channel、接口:nil

零值意义:Go设计理念是零值可用,避免变量未初始化导致的野指针、脏数据问题。比如切片、map零值nil可直接调用len()、cap()方法,不会报错,提升代码安全性和简洁性。

3.Go语言是否支持隐式类型转换?

答案:不支持。Go是强类型静态语言,所有类型转换必须显式强制转换,无任何隐式转换。

例如int转fl

文档评论(0)

1亿VIP精品文档

相关文档