GO面试题系列
2023-12-13 03:59:06
1.GO有哪些关键字
2.GO有哪些数据类型
3.Go方法与函数的区别
在Go语言中,方法和函数是两个不同的概念,尽管它们在某些方面有相似之处。下面是它们的主要区别:
- 定义位置:
- 函数:?函数是独立声明的,它们不依赖于任何类型。函数声明通常是在包级别的,也可以在其他函数内声明。
- 方法:?方法是与特定类型关联的函数。它们是在类型的定义中声明的,因此它们被称为该类型的方法。
// 函数 func add(a, b int) int { return a + b } // 方法 type Calculator struct { Result int } func (c *Calculator) Add(a, b int) { c.Result = a + b }
- 调用方式:
- 函数:?函数可以直接调用,不需要通过特定的类型。
- 方法:?方法是通过特定类型的实例来调用的。
// 函数调用
result := add(2, 3)
// 方法调用
calc := Calculator{}
calc.Add(2, 3)
3.关联的数据:
- 方法:?方法是与特定类型相关联的,可以访问该类型的数据。
- 函数:?函数是独立的,不依赖于任何特定的数据结构。
// 函数没有关联的数据
func printMessage(message string) {
fmt.Println(message)
}
// 方法关联了Calculator类型的数据
func (c *Calculator) PrintResult() {
fmt.Println(c.Result)
}
- 4.语法:
- 函数:?函数的声明没有接收者(receiver)。
- 方法:?方法的声明包含一个接收者,它指定了方法与哪种类型相关联。
// 函数声明 func add(a, b int) int { return a + b } // 方法声明 func (c *Calculator) Add(a, b int) { c.Result = a + b }
总体而言,方法是一种特殊类型的函数,它们与某种数据类型关联。这种关联使得方法更容易访问和操作与其关联的数据。
5.Go函数返回局部变量的指针是否安全
6.Go函数参数传递到底是值传递还是引用传递
7.Go defer关键字的实现原理
8.Go内置函数make和new的区别
文章来源:https://blog.csdn.net/lxw1844912514/article/details/134897840
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!