文章图片
下面列出了最常见的Go编程面试问题和答案。
1)什么是Go编程语言?
GO是Google开发的一种开源编程语言。它也被称为Golang。该语言主要用于系统编程。
2)为什么要使用Go编程语言?
因为Go是一种开源编程语言, 所以构建简单, 可靠和高效的软件非常容易。
3)谁被称为Go编程语言之父?
Go编程语言是由Robert Griesemer, Rob Pike和Ken Thompson设计的。它于2009年由Google Inc.开发。
4)Go程序中的软件包是什么?
Go程序由程序包组成。该程序开始在包main中运行。该程序正在使用导入路径为” fmt” 和” math / rand” 的软件包。
5)Go支持通用编程吗?
Go编程语言不提供对通用编程的支持。
6)是区分大小写的语言吗?
是! Go是区分大小写的编程语言。
7)Go编程中的字符串文字是什么?
字符串字面量指定了通过连接一系列字符而获得的字符串常量。
字符串文字有两种类型:
- 原始字符串文字:原始字符串文字的值是反引号” 之间的字符序列。它的值指定为由引号之间不间断字符组成的字符串文字。
- 解释的字符串文字:在双引号” ” 之间显示。文字的值被指定为双引号之间的文本, 不能包含换行符。
工作区包含Go代码。工作空间是目录层次结构, 其根目录具有三个目录。
- ” src” 目录包含组织成包的GO源文件。
- ” pkg” 目录包含软件包对象。
- ” bin” 目录包含可执行命令
” false” 是类型” bool” 的默认值。
10)Go编程中什么是GOPATH环境变量?
GOPATH环境变量指定工作空间的位置。开发Go代码时必须设置此环境变量。
11)Go编程语言的优点/好处是什么?
Go编程语言的优点/优点:
- Go运行很快, 并且编译非常快。
- 它支持语言级别的并发。
- 它有垃圾收集。
- 它支持各种安全功能和CSP风格的并发编程功能。
- 字符串和映射内置于该语言中。
- 函数是此语言中的一流对象。
Go中的内置支持列表:
- 容器:容器/列表, 容器/堆
- Web服务器:net / http
- 密码学:Crypto / md5, crypto / sha1
- 压缩:compress / gzip
- 数据库:database / sql
goroutine是通常与其他功能同时运行的功能。如果要停止goroutine, 则将一个信号通道传递到goroutine, 当你希望goroutine停止时, 该信号通道会向其中推送一个值。
Goroutine在检测到信号后便会定期轮询该通道。
Quit : = make (chan bool)
go func ( ) {
for{
select {
case <
- quit:
return
default
// do other stuff
}
}
}()
// Do stuff
// Quit goroutine
Quit <
- true
14)如何在Go编程中编写多个字符串?
要在Go中编写多个字符串, 你应该使用原始字符串文字, 该字符串由反引号分隔。
例如:
'line1
line2
line3 '
15)Go编程语言中break语句的用途是什么?
break语句用于终止for循环或switch语句, 并将执行转移到for循环或switch之后立即执行。
16)Go编程语言中的continue语句有什么用?
Continue语句有助于循环跳过主体的其余部分, 并在重新进行迭代之前立即重新测试其条件。
17)Go编程语言中goto语句的用法是什么?
goto语句用于将控制权转移到带标签的语句。
18)解释” for” 循环的语法。
Go编程语言中for循环的语法为:
for [condition |( init;
condition;
increment ) | Range]
{
statement(s);
}
19)用Go编程语言编写语法以创建函数?
在Go中创建函数的语法:
func function_name( [parameter list] ) [return_types]
{
body of the function
}
20)用Go编程语言解释变量的静态类型声明?
静态类型变量声明用于向编译器提供保证, 即给定类型和名称中只有一个变量, 因此编译器无需知道有关变量的完整详细信息以进行进一步处理。变量声明仅在编译时具有其含义, 编译器在程序链接时需要实际的变量声明。
21)用Go编程语言解释变量的动态类型声明?
动态类型变量声明需要编译器根据传递给它的值来解释变量的类型。编译器不需要变量就具有静态类型的必要条件。
22)你将如何在Go中打印变量类型?
你必须使用以下代码来打印变量的类型:
var a, b, c = 3, 4, "foo"
fmt.Printf("a is of type %T\n", a)
23)Go中的指针是什么?
指针用于保存变量的地址。
例如:
var x = 5
var p *int
p = &
x
fmt.Printf("x = %d", *p)
x可以通过* p访问。
24)Go中的指针如何表示?
在Go中, 使用*(星号)字符表示指针, 后跟所存储值的类型。
25)短变量声明:=只能在函数内部使用吗?
是。简短的变量声明:=只能在函数内部使用。
26)如何在不打印的情况下格式化字符串?
你应该使用以下命令来格式化字符串而不进行打印:
返回fmt.Sprintf(“ 在%v, %s” , e.When, e.What)
27)Go编程语言中的语法是什么样的?
【热门推荐!最新Go面试题汇总】GO编程语言语法是使用扩展Backus-Naur格式(EBNF)指定的:
- 生产= production_name” =” [表达式]
- 表达式=替代{” l” 替代}
- 替代=术语{术语}
- 术语=生产名称l令牌[“ ?” 令牌] l组l选项l重复
- 组=” (“ ” 表达式” )”
- 选项=” [“ 表达式” ” ]”
- 重复=” {“ 表达式” }”
Go编程语言不提供对类型继承的支持。
29)Go编程语言是否支持运算符重载?
Go编程语言不支持运算符重载。
30)Go支持方法重载吗?
Go编程语言不支持方法重载。
31)Go支持指针算术吗?
Go编程语言不提供对指针算术的支持。
32)以下代码的输出是什么?
package main
import "fmt"
const (
i = 7
j
k
)
func main() {
fmt.Println(i, j, k)
}
年份:
777
33)什么是Go接口?
在GO中, 接口是一种识别对象行为的方法。通过使用” 类型” 字, 名称和关键字接口创建接口。接口被指定为两件事。
- 一组方法。
- 也称为类型。
类型断言接受接口值, 并从中检索指定显式类型的值。
类型转换用于转换GO中不同的类型。
35)Go编程语言有哪些不同的方法?
在Go编程语言中, 有几种不同类型的函数称为方法。在方法声明语法中, “ 接收器” 用于表示函数的容器。该接收器可用于使用” 。” 调用功能。操作员。
36)Go中局部变量的默认值是什么?
局部变量的默认值是其对应的0值。
37)Go中全局变量的默认值是什么?
局部变量的默认值是其对应的0值。
38)Go中的指针变量的默认值是什么?
在Go编程语言中, 指针被初始化为nil。
39)如何在运行时使用Go编程语言检查变量类型?
在Go编程语言中, 有一种特殊类型的开关专用于在运行时检查变量类型。该开关称为类型开关。
40)是否建议在实现go例程的程序中使用全局变量?
不建议使用全局变量, 因为它们可能会同时被多个go例程(线程)访问, 这很容易导致意外行为, 从而导致任意结果。
41)你对模块化编程了解多少?
模块化编程是将程序划分为子程序(模块/功能)以实现最大效率的一种方式。
更通用的函数定义可帮助你重用这些函数, 例如内置库函数。
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题
推荐阅读
- 推荐!Ruby on Rails面试题精品合集
- 热门!OpenStack精品面试题推荐
- 最好的Memcached最新面试题都在这里了
- 最新Web服务面试题精品推荐合集
- 最新热门电机面试题精品推荐
- 控制系统热门面试题合集推荐
- 最新Unix面试题精品合集都在这里了!
- 推荐!最好的Python面试题合集都在这里了
- 推荐!软件测试面试题精品合集