首页 > 其他分享 >社交媒体平台代码例题

社交媒体平台代码例题

时间:2023-10-06 17:45:34浏览次数:32  
标签:int 代码 socialMedia ID sm Post 例题 社交 post

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:    "[email protected]",
	})
	socialMedia.addUser(User{
		ID:       2,
		Username: "user2",
		Email:    "[email protected]",
	})

	// 发布一些帖子
	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
}

这个代码示例实现了一个简单的社交媒体平台,包括用户和帖子的结构体、添加用户和帖子的方法,以及根据用户和关键字搜索帖子的功能。示例中还展示了如何添加用户和帖子,并显示每个用户发布的帖子。希望这个示例对您有所帮助!如果您有任何其他问题,我会很乐意回答。

社交媒体平台代码例题

标签:int,代码,socialMedia,ID,sm,Post,例题,社交,post
From: https://www.cnblogs.com/ips9999/p/17744768.html

相关文章

  • C 语言代码
    以下是一个较为复杂的C语言代码示例,展示了如何使用指针和动态内存分配来实现一个简单的字符串操作库:#include<stdio.h>#include<stdlib.h>#include<string.h>//自定义字符串结构体typedefstruct{char*str;intlength;}MyString;//创建字符串MyString......
  • 社交媒体平台代码例题
    Go语言代码示例,用于实现一个简单的社交媒体平台:packagemainimport( "fmt" "strings" "time")typeUserstruct{ IDint Usernamestring Emailstring Followers[]int}typePoststruct{ IDint Contentstring Time......
  • springboot中的代码生成器
    springboot可以集成MyBatis-Plus代码生成器,如何想要快速开发或者考试可以试用一下。我参看下面这篇博客弄的:Mybatis-Plus自动生成代码,自定义Controller_mybatisplus生成controller-CSDN博客有些好用 ......
  • 如何选购一台适合写代码的笔记本电脑
    如何选购一台适合写代码的笔记本电脑 1.参考指标选择一台写代码的笔记本,其实是很好选择的。不像是选择游戏本,各个指标的性能必须拉满,因为写代码不吃显卡,这块预算可以直接砍掉,用集成显卡就完全可以,把这部分的钱换成别的配置,那么写代码的体验就可以起飞了。下面我讲......
  • Eclipse修改代码以及菜单字体大小
    (1)首先找到菜单栏的窗口(Windows)选项,然后点开,再点击首选项(preferences)(2)然后点击常规(General),然后找到外观(Appearence),然后找到颜色和字体(ColorsandFonts)(3)然后找到基本(Basic),然后点击标题字体,再然后点击编辑,选择自己想要的大小二:更改Java字体找到Java,然后修改字体大小,......
  • app直播源代码,JavaWeb如何设置定时任务
    app直播源代码,JavaWeb如何设置定时任务1.在xml文件中添加监听器 <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 归并排序原理、演示及代码
    归并排序1.原理归并排序是一种排序算法,它通过将待排序的数组或列表递归分割成较小的子数组,然后将这些子数组合并以生成一个有序的数组。2.操作分割(Divide):将待排序的数组分成两个大致相等的子数组,或者将列表分成两部分。这个过程是递归的,直到每个子数组或子列表都只包含一个元......
  • 45 个 Git 经典操作场景,专治不会合代码(转)
    45个Git经典操作场景,专治不会合代码git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。下边我......
  • 代码错误原因分析
    永远注意符号,变量名的错误永远注意多测清空小心数组开小,数组开小是变化之神Arcka是代码之神,她不会写出任何错误TLE/死循环斜体表示可能造成死循环memeset清空for循环变量写错如:for(inti=1;i<=n;++i){ for(intj=1;j<=n;++i){ }}while退......
  • c语言代码(递归)练习23
    需求:求解用户给的第几位斐波那契数,斐波那契数1,1,2,3,5,9,13,22,35,55....:这位数等于前两位数相加。#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intayue(inti){if(i<=2){return1;}else{returnayue(i-1)+......