Menu
CoddyTech

新函数

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。

challenge icon

挑战

简单

编写一个程序,接收用户输入并完成以下操作:

  1. 使用 int 类型和 new() 函数创建一个指针。
  2. 打印指针的默认值。
  3. 将用户输入的值赋给该指针。
  4. 打印赋值后的指针值。

亲手试试

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 在线编译器