新函数
Coddy Golang 中的函数和指针 课程的第 3 课,共 19 课。
在前几课中,我们了解到变量是对象或内存中的空间,它们的名称指向相应的空间。
在 Go 中,我们可以使用 new() 函数在内存中创建未命名的空间。语法如下:
coddy := new(string)这里,我们创建了一个名为 coddy、类型为 string 的对象,而 new() 函数会返回指向该对象(空间)的指针。
如果我们打印这个名称,就会得到该空间的内存地址:
fmt.Println("Value:", coddy)结果如下:
Value: 0xc000014070我们可以像这样为这个指针重新赋值:
coddy := new(string)
*coddy = "Learn To Code with coddy"
fmt.Println("Value:", *coddy)结果如下:
Value: Learn To Code with coddy请注意,使用 new() 函数创建指针时,默认值不是 nil。它取决于数据类型,就像变量一样。如果类型是 int,默认值是 0;如果是 string,默认值是空字符串;如果是 boolean,默认值是 false。
挑战
简单编写一个程序,接收用户输入并完成以下操作:
- 使用 int 类型和 new() 函数创建一个指针。
- 打印指针的默认值。
- 将用户输入的值赋给该指针。
- 打印赋值后的指针值。
亲手试试
package main
import (
"fmt"
)
func main() {
// 获取用户输入,不要修改这部分!
var num int
fmt.Scanln(&num)
// 使用 new() 函数创建一个 int 类型的指针。
// 输出指针的默认值。
fmt.Println("Default value of the pointer:", ?)
// 将用户输入的值赋给该指针
// 输出赋值后指针的值。
fmt.Println("Value of the pointer after assignment:", ?)
}
Golang 中的函数和指针中的所有课
自己练习: Go 在线编译器