GO语言工程实践课后作业:实现思路、代码以及路径记录| 青训营

186 阅读2分钟

在GO语言工程实践课后作业中,我选择了一个简单的任务来完成。任务要求是实现一个简单的字符串反转函数,并编写相应的测试用例。下面是我的实现思路、代码以及路径记录。

首先,我思考了一下字符串反转的实现方法。我决定使用两个指针,一个指向字符串的开头,一个指向字符串的末尾。然后,交换两个指针所指向的字符,然后将两个指针向中间移动,重复这个过程,直到两个指针相遇。这样就可以实现字符串的反转。

接下来,我用GO语言编写了相应的代码。下面是我的代码实现:

package main

import "fmt"

func reverseString(s string) string {
    str := []byte(s)
    left := 0
    right := len(str) - 1
    for left < right {
        str[left], str[right] = str[right], str[left]
        left++
        right--
    }
    return string(str)
}

func main() {
    s := "Hello, World!"
    fmt.Println(reverseString(s))
}

在代码中,我定义了一个reverseString函数,它接受一个字符串作为参数,并返回反转后的字符串。在函数中,我首先将字符串转换为字节数组,然后使用两个指针来实现反转操作。最后,我在main函数中调用了reverseString函数,并打印出结果。

同时在测试用例中,我定义了一个TestReverseString函数,它使用了testing包来进行单元测试。在函数中,我定义了一个输入字符串和一个预期输出字符串。然后,我调用了reverseString函数,并将结果与预期输出进行比较。如果结果不符合预期,就会输出错误信息。

最后,我将代码和测试用例保存在一个名为reverse_string.go的文件中。下面是文件的路径记录:

./
├── reverse_string.go
└── reverse_string_test.go

总结起来,通过这次作业,我学到了如何使用GO语言实现一个简单的字符串反转函数,并编写相应的测试用例。我通过思考和分析,选择了合适的实现方法,并对代码进行了测试和调试。通过这个实践,我对GO语言的工程实践有了更深入的了解,并提高了自己的编程能力。