获取日期和调用方法

方法调用初探与 time 包

  • 方法概念:Go 的方法类似于附加在“对象”(这里是特定类型的值)上的函数,调用方式为 变量.方法名()
  • 获取当前时间:需导入 "time" 包。time.Now() 函数返回一个 time.Time 类型的值,代表当前日期和时间。
  • 调用 Year 方法time.Time 类型拥有 Year() 方法,用于返回年份整数。
package main

import (
    "fmt"
    "time"
)

func main() {
    var now time.Time = time.Now() // 获取当前时间
    var year int = now.Year()      // 调用方法提取年份
    fmt.Println(year)              // 输出示例: 2020(取决于系统时间)
}Code language: JavaScript (javascript)

串联知识:这里结合了前文的包导入(可见性规则,NowYear 均大写导出)、变量声明(可简写为 now := time.Now())与 go run 执行。

strings 包与替换器(Replacer)

  • 核心逻辑strings.NewReplacer 用于创建一个替换器,可将字符串中的特定子串替换为目标子串。
  • 链式调用:先定义替换规则(旧字符,新字符),再对目标字符串执行 Replace 方法。
package main

import (
    "fmt"
    "strings"
)

func main() {
    broken := "G# r#cks!"
    // 创建替换器:将 "#" 替换为 "o"
    replacer := strings.NewReplacer("#", "o")
    // 执行替换
    fixed := replacer.Replace(broken)
    fmt.Println(fixed) // 输出: Go rocks!
}Code language: CSS (css)

实际输出验证:结合终端编译输出,最终打印了 2020(年份)与 Go rocks(替换结果),进程成功退出。

代码例子

将两节示例合并(对应图中最终输出):

package main

import (
    "fmt"
    "strings"
    "time"
)

func main() {
    // 1. 时间获取与方法调用
    now := time.Now()
    fmt.Println(now.Year()) // 输出: 2020

    // 2. 字符串替换方法
    broken := "G# r#cks!"
    replacer := strings.NewReplacer("#", "o")
    fmt.Println(replacer.Replace(broken)) // 输出: Go rocks!
}Code language: JavaScript (javascript)
知识点本例体现历史关联
包与可见性"time", "strings" 导入;Now(), Year(), NewReplacer 大写导出第11节命名规则(大写可跨包访问)
方法调用now.Year(), replacer.Replace()类似“对象”行为,后续章节详述
短变量声明now := time.Now()第10节 := 推断类型
类型安全nowtime.Timereplacer*strings.Replacer,不可混用第12-13节类型严格性

方法调用是 Go 面向对象特性的雏形。当前只需掌握“类型值.方法()”的语法;timestrings 是标准库高频包,配合 go fmtgo run 可高效验证。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注