PHP 程序员转 Go 语言的经历分享
warning:
这篇文章距离上次修改已过245天,其中的内容可能已经有所变动。
package main
import (
"fmt"
"math/rand"
"time"
)
// 定义一个表示 PHP 程序员的结构体
type phpProgrammer struct {
name string
}
// 定义一个表示 Go 程序员的结构体
type goProgrammer struct {
name string
}
// 定义一个表示转变语言的过程的接口
type languageTransition interface {
learnNewLanguage() string
}
// PHP 程序员转 Go 程序员的结构体
type phpToGo struct {
phpProgrammer
}
// learnNewLanguage 实现了 languageTransition 接口
func (p phpToGo) learnNewLanguage() string {
return fmt.Sprintf("PHP程序员%s正在学习Go语言...", p.name)
}
// 主函数
func main() {
// 初始化随机数种子
rand.Seed(time.Now().UnixNano())
// 随机选择一个PHP程序员的名字
phpProgrammerName := fmt.Sprintf("PHPer%d", rand.Intn(1000))
// 创建一个PHP程序员和Go程序员的实例
phpProg := phpProgrammer{name: phpProgrammerName}
goProg := phpToGo{phpProgrammer: phpProg}
// 输出转变语言的信息
fmt.Println(goProg.learnNewLanguage())
}
这段代码定义了两个结构体,分别表示PHP程序员和Go程序员,还定义了一个接口languageTransition
,用来描述转变语言的过程。然后定义了一个结构体phpToGo
,它结合了PHP程序员的特性,并实现了languageTransition
接口。最后在主函数中,我们模拟了一个PHP程序员转向学习Go语言的场景,并打印了他正在学习的信息。
评论已关闭