挑战 - 完成银行项目功能

已完成

你的程序已具备一些基本功能。 但是,它还缺少一项功能:向其他帐户转账的功能。 这一挑战包括添加该功能,以及我们认为可为现有 API 增加价值的另一项功能。

实现转账方法

若要创建转账方法,应牢记以下几点:

  • 你需要实现向其他帐户转账的功能。 在本例中,你必须使用至少两个帐户来初始化程序,而不是像之前一样只使用一个帐户。
  • 由于你要在核心程序包中添加新方法,因此请首先创建测试用例,以确保你编写正确的逻辑来进行转账。 请密切注意在函数与指针之间进行通信的方式。
  • 你的转账方法应当接收你要转账的金额以及你将在其中增加资金的帐户对象。 请确保重用存款和取款方法以避免重复(特别是对于错误处理)。
  • 请记住,如果你没有足够的资金,则无法向其他帐户转账。

修改对账单终结点以返回 JSON 对象

当前,/statement 终结点会返回一个字符串。如果你想将其公开为 API,则该字符串没有用处。 修改终结点以采用 JSON 格式返回帐户对象:

"{\"Name\":\"John\",\"Address\":\"Los Angeles, California\",\"Phone\":\"(213) 555 0147\",\"Number\":1001,\"Balance\":0}"

我们希望你假定使用你的核心程序包的用户有可能希望实施不同的对账单方法来更改输出。 因此,你需要进行适当的更改,以使核心程序包具有可扩展性。 换句话说,你需要执行以下操作:

  1. 创建一个包含 Statement() string 函数的接口。

  2. 在核心程序包中创建一个新的 Statement() 函数,该函数接收你以参数形式创建的接口。 此函数应该调用你的结构已有的 Statement() 方法。

    当你进行这些更改时,系统会允许你创建自定义 Account 结构和自定义 Statement() 方法。 如果不记得如何执行这些编码更改,你可以返回到有关结构(嵌入)和接口的模块。

祝你编码愉快!