分类 Golang教程 下的文章

Go语言笔试面试题-实现原理Q1 init() 函数是什么时候执行的?init() 函数是 Go 程序初始化的一部分。Go 程序初始化先于 main 函数,由 runtime 初始化每个导入的包,初始化顺序不是按照从上到下的导入顺序,而是按照解析的依赖关系,没有依赖的包最先初始化。每个包首先初始化包作用域的常量和变量(常量优先于变量),然后执行包的 init() 函数。同一个包,甚至是同一个源文件可以有多个 init() 函数。init() 函数没有入参和返回值,不能被其他函数调用,同一个包内多个 init() 函数的执行顺序不作保证。一句话总结: import –> const –> var –> init() –> main()

- 阅读剩余部分 -

Go接口Go使用不同的方法来实现面向对象的概念。Go没有类和继承的概念。Go通过强大的接口来满足这些要求。接口为对象提供行为:如果某个对象能够做到这一点,那么它可以在这里使用。接口定义了一组抽象方法,并不包含任何变量。

- 阅读剩余部分 -

Go结构体在Go中,结构体可以用来创建用户定义的类型。结构体是一种复合类型,意味着它可以具有不同的属性,每个属性都可以有自己的类型和值。结构体可以表示具有这些属性的现实世界实体。我们可以将属性数据作为一个单独的实体进行访问。它也是值类型,并可以使用new()函数进行构造。

- 阅读剩余部分 -

Go正则表达式Go正则表达式包用于搜索字符串。要搜索一个字符串,我们需要提供一个字符串的模式。我们需要将模式编译成正则表达式对象,以便我们可以通过它调用方法。可以使用compile()和mustcompile()函数来获取正则表达式对象。现在我们可以使用函数来查找字符串,例如FindString()、FindStringSubmatch()、FindStringIndex()等。

- 阅读剩余部分 -

Go字符串Go字符串是可变宽字符的序列。Go字符串和文本文件占用较少的内存或磁盘空间。由于UTF-8是标准编码,Go不需要对字符串进行编码和解码。Go字符串是值类型且不可变。这意味着如果你创建了一个字符串,你不能修改字符串的内容。字符串的初始值默认为空""。

- 阅读剩余部分 -

Go切片在Go中,切片是对底层数组的动态大小分段视图。该分段可以是整个数组,也可以是数组的子集。我们通过指定起始和结束索引来定义数组的子集。切片提供了对底层数组的动态窗口。

- 阅读剩余部分 -

Go数组在Go中,数组是一种同质的数据结构(固定类型)并且具有固定长度。类型可以是任何类型,如整数、字符串或自定义类型。可以通过索引访问数组中的元素,索引从零开始。数组中的项数称为数组的长度或大小。它是固定的,并且必须在声明数组变量时声明。

- 阅读剩余部分 -

Go闭包在Go编程中,闭包是一种函数值(function value),它可以引用其自身作用域之外的变量。换句话说,闭包是一个函数和其相关环境的组合体,它可以捕获并存储其所在作用域的变量的状态。

- 阅读剩余部分 -