社交媒体平台代码例题
Go 语言代码示例,用于实现一个简单的社交媒体平台:
package main
import (
"fmt"
"strings"
"time"
)
type User struct {
ID int
Username string
Email string
Followers []int
}
type Post struct {
ID int
Content string
Timestamp time.Time
UserID int
}
type SocialMediaPlatform struct {
Users map[int]User
Posts []Post
}
func main() {
socialMedia := SocialMediaPlatform{
Users: make(map[int]User),
Posts: []Post{},
}
// 添加一些用户
socialMedia.addUser(User{
ID: 1,
Username: "user1",
Email: "user1@example.com",
})
socialMedia.addUser(User{
ID: 2,
Username: "user2",
Email: "user2@example.com",
})
// 发布一些帖子
socialMedia.addPost(Post{
ID: 1,
Content: "Hello, World!",
Timestamp: time.Now(),
UserID: 1,
})
socialMedia.addPost(Post{
ID: 2,
Content: "This is a sample post.",
Timestamp: time.Now(),
UserID: 2,
})
// 显示所有用户的帖子
for _, user := range socialMedia.Users {
fmt.Println(user.Username, "的帖子:")
posts := socialMedia.getUserPosts(user.ID)
for _, post := range posts {
fmt.Println(post.Content)
}
fmt.Println()
}
}
func (sm *SocialMediaPlatform) addUser(user User) {
sm.Users[user.ID] = user
}
func (sm *SocialMediaPlatform) addPost(post Post) {
sm.Posts = append(sm.Posts, post)
}
func (sm *SocialMediaPlatform) getUserPosts(userID int) []Post {
var userPosts []Post
for _, post := range sm.Posts {
if post.UserID == userID {
userPosts = append(userPosts, post)
}
}
return userPosts
}
func (sm *SocialMediaPlatform) searchPostsByKeyword(keyword string) []Post {
var result []Post
for _, post := range sm.Posts {
if strings.Contains(post.Content, keyword) {
result = append(result, post)
}
}
return result
}
这个代码示例实现了一个简单的社交媒体平台,包括用户和帖子的结构体、添加用户和帖子的方法,以及根据用户和关键字搜索帖子的功能。示例中还展示了如何添加用户和帖子,并显示每个用户发布的帖子。希望这个示例对您有所帮助!如果您有任何其他问题,我会很乐意回答。
社交媒体平台代码例题
分类:
开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~