天天滚动:Go中的有限状态机FSM的详细介绍

来源:博客园 2023-04-25 01:00:30

1、FSM简介1.1 有限状态机的定义

有限状态机(Finite State Machine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件。

状态机有三个组成部分:状态(State)、事件(Event)、动作(Action),事件(转移条件)触发状态的转移和动作的执行。动作的执行不是必须的,可以只转移状态,不指定任何动作。总体而言,状态机是一种用以表示有限个状态以及这些状态之间的转移和动作的执行等行为的数学模型。

状态机可以用公式State(S) , Event(E) -> Actions (A), State(S’)表示,即在处于状态S的情况下,接收到了事件E,使得状态转移到了S’,同时伴随着动作A的执行。


(相关资料图)

Event(事件)是指触发状态转换的输入信号或条件。它可以是任何类型的输入,例如传感器数据、用户输入、网络消息等。在编程中,Event通常是一个枚举类型,每个枚举值代表一个特定的事件。

State(状态)是指系统在某一时刻所处的状态,它是系统的一种抽象描述。在有限状态机中,状态是由一组状态变量来描述的,这些状态变量的取值决定了系统的状态。状态可以是离散的,也可以是连续的。在有限状态机中,状态通常用一个圆圈来表示,圆圈内部写上状态的名称。例如,一个简单的有限状态机可以有两个状态:开和关,它们可以用以下方式表示:

Action(动作)是指在状态转移时执行的操作或动作。当有限状态机从一个状态转移到另一个状态时,可以执行一个或多个action来改变系统的状态或执行某些操作。例如,当有限状态机从“待机”状态转移到“运行”状态时,可以执行一个action来启动系统。在实际应用中,action可以是任何有效的代码,例如函数调用、变量赋值、打印输出等。

FSM 通常用于编程中,用于实现状态转移和控制流程。

注意:

在任何时刻,FSM 只能处于一种状态。

1.2 Go中的FSM

通过上面关于有限状态机的定义,我们大概知道了状态机是个什么东西,那么Golang中是怎么实现的呢。不用慌,已经有大佬实现好了,只管用就好了。

安装:

go get github.com/looplab/fsm@v1.0.1

接下来一起看看github.com/looplab/fsm 是如何使用的。

2、github.com/looplab/fsm 如何使用

注意:

不同版本的 fsm 使用方式,可能不太一样,最好是看下 NewFSM函数的注释,看下具体的细节。 本篇文章以:github.com/looplab/fsm@v1.0.1为例。

2.1 fsm 基础使用

这里把官方的例子改了下,感觉官方的例子不是很清晰。代码如下:

package mainimport ("context""fmt""github.com/looplab/fsm")type Door struct {Name  stringFSM *fsm.FSM}func NewDoor(name string) *Door {d := &Door{Name: name,}d.FSM = fsm.NewFSM("closed",fsm.Events{{Name: "open", Src: []string{"closed"}, Dst: "open"},{Name: "close", Src: []string{"open"}, Dst: "closed"},},fsm.Callbacks{"enter_state": func(_ context.Context, e *fsm.Event) { d.enterState(e) },},)return d}func (d *Door) enterState(e *fsm.Event) {fmt.Printf("The door"s name:%s , current state:%s\n", d.Name, e.Dst)}func main() {door := NewDoor("测试")fmt.Printf("fsm current state: %s \n", door.FSM.Current())err := door.FSM.Event(context.Background(), "open")if err != nil {fmt.Println(err)}fmt.Printf("fsm current state: %s \n", door.FSM.Current())err = door.FSM.Event(context.Background(), "close")if err != nil {fmt.Println(err)}fmt.Printf("fsm current state: %s \n", door.FSM.Current())}

执行结果:

fsm current state: closed The door"s name:测试 , current state:openfsm current state: open The door"s name:测试 , current state:closedfsm current state: closed

这里就通过Event改变FSM中的状态。转移公式为:Src,Event -> Dst,d.enterState。大意就是接受到了输入Event,状态机的StateSrc->Dst,并且执行了Action:d.enterState。

2.2 fsm 中 Action 何时执行?

刚开始使用的时候,好奇d.enterState(e)是什么时候调用的,我们一起看看 NewFSM中的注释就清楚了。

// NewFSM constructs a FSM from events and callbacks.//// The events and transitions are specified as a slice of Event structs// specified as Events. Each Event is mapped to one or more internal// transitions from Event.Src to Event.Dst.// Callbacks are added as a map specified as Callbacks where the key is parsed// as the callback event as follows, and called in the same order://// 1. before_ - called before event named //// 2. before_event - called before all events//// 3. leave_ - called before leaving //// 4. leave_state - called before leaving all states//// 5. enter_ - called after entering //// 6. enter_state - called after entering all states//// 7. after_ - called after event named //// 8. after_event - called after all events//// There are also two short form versions for the most commonly used callbacks.// They are simply the name of the event or state://// 1.  - called after entering //// 2.  - called after event named //// If both a shorthand version and a full version is specified it is undefined// which version of the callback will end up in the internal map. This is due// to the pseudo random nature of Go maps. No checking for multiple keys is// currently performed.

从上面我们知道了,d.enterState(e)是在called after entering all states时执行的。

2.2.1 完整版书写的Callbacks执行顺序

从上面的注释能知道完整版书写的Callbacks的执行顺序如下:

2.2.2 简写版的Callbacks执行顺序2.2.3 注意事项

虽然Callbacks的写法有两种,但是不能同时使用完整版和简写版,否则最终使用那个版本是不确定的。

2.3 较为完整的例子
package mainimport ("context""fmt""github.com/looplab/fsm")type Door struct {Name  stringFSM *fsm.FSM}func NewDoor(name string) *Door {d := &Door{Name: name,}d.FSM = fsm.NewFSM("closed",fsm.Events{{Name: "open", Src: []string{"closed"}, Dst: "open"},{Name: "close", Src: []string{"open"}, Dst: "closed"},},fsm.Callbacks{"before_open": func(_ context.Context, e *fsm.Event) { d.beforeOpen(e) },"before_event": func(_ context.Context, e *fsm.Event) { d.beforeEvent(e) },"leave_closed": func(_ context.Context, e *fsm.Event) { d.leaveClosed(e) },"leave_state": func(_ context.Context, e *fsm.Event) { d.leaveState(e) },"enter_open": func(_ context.Context, e *fsm.Event) { d.enterOpen(e) },"enter_state": func(_ context.Context, e *fsm.Event) { d.enterState(e) },"after_open": func(_ context.Context, e *fsm.Event) { d.afterOpen(e) },"after_event": func(_ context.Context, e *fsm.Event) { d.afterEvent(e) },},)return d}func (d *Door) beforeOpen(e *fsm.Event) {fmt.Printf("beforeOpen, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) beforeEvent(e *fsm.Event) {fmt.Printf("beforeEvent, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) leaveClosed(e *fsm.Event) {fmt.Printf("leaveClosed, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) leaveState(e *fsm.Event) {fmt.Printf("leaveState, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) enterOpen(e *fsm.Event) {fmt.Printf("enterOpen, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) enterState(e *fsm.Event) {fmt.Printf("enterState, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) afterOpen(e *fsm.Event) {fmt.Printf("afterOpen, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func (d *Door) afterEvent(e *fsm.Event) {fmt.Printf("afterEvent, current state:%s, Dst:%s \n", d.FSM.Current(), e.Dst)}func main() {door := NewDoor("测试")fmt.Printf("fsm current state: %s \n", door.FSM.Current())err := door.FSM.Event(context.Background(), "open")if err != nil {fmt.Println(err)}fmt.Printf("fsm current state: %s \n", door.FSM.Current())err = door.FSM.Event(context.Background(), "close")if err != nil {fmt.Println(err)}fmt.Printf("fsm current state: %s \n", door.FSM.Current())}

执行结果:大家重点看current state何时发生的变化。

fsm current state: closed beforeOpen, current state:closed, Dst:open beforeEvent, current state:closed, Dst:open leaveClosed, current state:closed, Dst:open leaveState, current state:closed, Dst:open enterOpen, current state:open, Dst:open enterState, current state:open, Dst:open afterOpen, current state:open, Dst:open afterEvent, current state:open, Dst:open fsm current state: open beforeEvent, current state:open, Dst:closed leaveState, current state:open, Dst:closed enterState, current state:closed, Dst:closed afterEvent, current state:closed, Dst:closed fsm current state: closed 

参考资料:

looplab/fsm 源码阅读

有限状态机FSM

深入浅出理解有限状态机

[有限状态机](

上一篇 : 世界新消息丨字节跳动“种草”尝试不息,“可颂”完了再上“有柿”

下一篇 : 最后一页

x 广告
高层声音

天天滚动:Go中的有限状态机FSM的详细介绍

2023-04-25

世界新消息丨字节跳动“种草”尝试不息,“可颂”完了再上“有柿”

2023-04-25

已是4年前!巴萨本赛季大概率夺西甲,上次西甲夺冠你还记得吗?

2023-04-25

每日快播:取消外籍华人子女加分!杭州发布重要通知

2023-04-24

环氧丙烷行情周报(4.17-4.23) 全球讯息

2023-04-24

焦点速递!税前是什么意思啊_税前是什么意思

2023-04-24

人民公园:加强修剪技能培训 提升精细化养护水平

2023-04-24

飞腾CPU FT-2000/4 uboot下PHY调试记录 播资讯

2023-04-24

滕哈格:瓦拉内能在足总杯决赛时复出;林德洛夫抓住了机会

2023-04-24

环球简讯:陈永:黄河大球场估计再过几个月封顶,大概率2025年投入使用

2023-04-24

环球微资讯!售14.98-18.48万元,广汽丰田锋兰达双擎上市

2023-04-24

当前关注:汉字找茬王连女主bgm攻略

2023-04-24

快资讯丨浩柏国际(08431):蒋建国辞任执行董事

2023-04-24

环球关注:今日藤花怎么养殖(谁知道花藤怎么升级啊)

2023-04-24

具俊晔买房是个大乌龙,汪小菲这回要笑醒了

2023-04-24

移动交费网上营业厅_移动交费_全球快看点

2023-04-24

泡泡玛特(09992)4月24日斥资888.06万港元回购50万股_世界热资讯

2023-04-24

【全球热闻】赛微微电:两股东拟合计减持公司不超10%股份

2023-04-24

乡村别墅一站式建设服务商美置乡墅获得数千万元战略融资

2023-04-24

天天热讯:口罩上印LV经典花纹两公司赔30万 法院发布十大典型案例

2023-04-24

急性胃肠炎的主要表现_急性胃肠炎会有哪些症状表现-全球快讯

2023-04-24

中国消费“马车”跑起来 世界目光看过来(国际论道)

2023-04-24

黎明觉醒红木林地藏宝图位置大全 头条

2023-04-24

怎么判断猫咪熟不熟人 猫咪怎么才算和你熟了

2023-04-24

甘肃烟草工业有限责任公司天水卷烟厂购置洗地车项目中标公示 世界快播

2023-04-24

每周亏$412!墨尔本各区房贷涨幅 VS 租金涨幅,这几个区最惨!

2023-04-24

环球新资讯:胸大的女人适合穿什么样的上衣_胸大的女人

2023-04-24

我不该这样固执_四川巴中中考满分作文 义乌中考满分作文:那一

2023-04-24

世界地球日:海信激光电视创新技术受关注 天天快报

2023-04-24

上海市金山区金山卫镇水务站一干部接受纪律审查和监察调查 世界视讯

2023-04-24

离婚证明在哪里开-环球观速讯

2023-04-24

为何林冲卢俊义都是董超、薛霸押解?他们俩的象征意义体现两个字

2023-04-24

环球动态:爱读书读好书善读书 全民阅读建设书香中国

2023-04-24

世界焦点!湖北天门:物流“快起来”助力“衣销四方”

2023-04-24

资讯推荐:2023年小麦中后期防冻害防早衰防倒伏技术意见

2023-04-24

天天热讯:管泽元晒EA赠送的礼盒:感谢EASPORTS 送的礼盒 期待下一代的EAFC

2023-04-24

环球新动态:甘肃平凉千人诵经典:品味陇韵书香 穿越千年对话先贤

2023-04-24

江信增利货币市场基金2023年劳动节前暂停大额申购的公告-世界快资讯

2023-04-24

17年过去了,“彭宇案”法官被降职,老太太去世,彭宇:我撒谎了 头条焦点

2023-04-24

恭祝新婚红包贺词格式(恭祝新婚红包贺词) 每日速递

2023-04-24

访企拓岗”专项行动|金肯职业技术学院走访江苏百瑞赢证券咨询有限公司|世界时快讯

2023-04-24

重庆鼓励社会资本参与生态保护修复

2023-04-24

新房维修基金收取标准2020(新房维修基金收取标准2020)

2023-04-24

英雄联盟手游正在积极筹备为测试做准备|天天新动态

2023-04-24

环球滚动:女子忘关车门4岁娃跑下车遭碾压具体详细内容是什么

2023-04-24

白杰品股:调整|封面天天见·数字财富论

2023-04-24

全球球精选!用一座座塔支撑网络强国建设 铁塔青年争当智慧“哨兵”

2023-04-24

世界快消息!开卷知往 阅向未来

2023-04-24

天天信息:中国红牛回应“被禁止生产销售”

2023-04-24

龙之谷电影在线观看_龙之谷电影

2023-04-24

九阳面条机哪款最好

2023-04-24

第十八届文津图书奖揭晓

2023-04-24

广东第一季度地区生产总值30178.23亿 同比增长4.0%

2023-04-24

南昌舰:人民海军见证者-天天实时

2023-04-24

甘罗怎么死的最多 甘罗怎么死的 世界热点评

2023-04-24

荣威350s参数_荣威350s

2023-04-24

世界微动态丨拉黑屎是怎么回事儿_拉黑屎是怎么回事

2023-04-24

每日看点!卧龙派出所为啥抓这5人?

2023-04-24

吉林永吉农商银行被罚90万:因贷款风险分类不准确等

2023-04-24

盛帮股份2023年第一季度营收6981.2万 净利1361.6万 差旅费及其他费用增加

2023-04-23

天天热门:希沃赋能教育数字化,助力教师提升数字素养

2023-04-23

当前信息:初一女生HPV疫苗首针接种率超90%,今年将继续免费推进

2023-04-23

天天动态:Python面向对象编程-生成器

2023-04-23

“救”在身边!卫生应急自救互救知识技能“五进”活动启动_环球最资讯

2023-04-23

天龙集团2022年营收96.33亿 净利1.03亿 董事长冯毅薪酬100万_环球观速讯

2023-04-23

双色球23045期晒票:保持乐观的心情,为未来充满信心和期望

2023-04-23

澳门赛-王曼昱4-2逆转陈梦女单夺冠!对攻大战太精彩-环球快看

2023-04-23

江夏区第一小学开展“党建与教学融合”书法课例研讨观摩活动 全球百事通

2023-04-23

副县长郭宝福深入部分幼儿园开展食品安全督导工作_环球时讯

2023-04-23

五一假期收费公路小型客车免费通行_环球微头条

2023-04-23

古代神童伤仲永的故事_古代小神童故事_每日时讯

2023-04-23

万丰股份: 万丰股份首次公开发行股票并在主板上市网上路演公告-世界今日讯

2023-04-23

这就是威少!在湖人拿4700万却11中0,在快船仅78万却连续两场30+|滚动

2023-04-23

世界快看点丨樱桃可以冷冻保存吗_樱桃怎么保存

2023-04-23

【时快讯】精测电子:2022年度净利润约2.72亿元,同比增加41.36%

2023-04-23

生孩子医疗保险可以报销生育费用吗

2023-04-23

天天观察:美图秀秀如何进行拼图?电脑版美图秀秀怎么抠图换背景?

2023-04-23

国际锐评丨世界地球日 太平洋不该成为日本排污的垃圾场

2023-04-23

孝顺节的来历和风俗简短_孝顺节的来历和风俗|世界微资讯

2023-04-23

中国红牛称被禁止生产销售系谣言是什么情况 中国红牛称被禁止生产销售系谣言具体来龙去脉是怎么样 今日最新

2023-04-23

[杨园章]张廷芳家族的礼仪实践:明初泉州儒学的社会史考察

2023-04-23

焦点滚动:qq动态密码可以用来登陆QQ吗_qq动态密码

2023-04-23

全球资讯:成都高新区远达天荟云庭人才公寓户型

2023-04-23

辽宁省总河长签发第5号《辽宁省总河长令》 全省范围实施行洪安全百日攻坚战

2023-04-23

信息:张嘉蓉荣_张嘉蓉

2023-04-23

从“捐赠openEuler”到“向openEuler捐赠”,openEuler生态走入高速发展期_世界报资讯

2023-04-23

2023年中国企业出海信心报告

2023-04-23

全球观天下!32岁莱昂纳德遭双重打击:赛季报销被逼原地退役,姐姐被终身监禁

2023-04-23

市州观察丨遂潼两地共青团联动发展 做好10件实事服务青少年

2023-04-23

世界短讯!河北在衡水沧州创建全国蔬菜质量标准中心标准化基地

2023-04-23

政策解读 省公共图书馆每周需开放68小时以上 市、县级分别不少于64小时和54小时|当前信息

2023-04-23

古代没有卫生纸,人们用什么擦屁股?古人有个妙招,至今仍然在用

2023-04-23

【全球快播报】月租近6000元的公寓,洗澡要去朋友家蹭

2023-04-23

沃尔沃钦培吉:“十年学不会”的是体系的建立 根基要稳才能做到唯快不破 世界微动态

2023-04-23

世界热消息:滋养“文化秧苗”茁壮成长

2023-04-23

大力出奇迹!王艺迪3:0同胞,世界亚军被淘汰,国乒锁定决赛席位

2023-04-23

赎回冲击背景下信用债市场流动性风险探讨与防范研究

2023-04-23

网络攻防专业知识测试_网络攻防

2023-04-23

联动开展“大体检” 全力守护清廉国企本色

2023-04-23

G5511二广高速集宁至阿荣旗联络线草高吐至乌兰浩特段公路正式通车运营|环球焦点

2023-04-23

为什么越穷的人越容易为消费主义买单而有钱的人却手紧|实时

2023-04-23

港澳通行证和签注的区别图片 港澳通行证和签注的区别_环球焦点

2023-04-23

玉屏交警深入学校开展交通安全宣传活动|春季守护行动 全球速看料

2023-04-23

焦点快报!28岁白鹿:从“网红”到“欢娱一姐”,靠什么?和顶流男星恋爱?

2023-04-23

这些民生项目的进度条更新啦:快看有你家附近的吗

2023-04-23

江苏常熟:5月起,所有公务员将用数字人民币发放工资

2023-04-23

山东省日照市邮编查询_山东省日照市邮编_环球微动态

2023-04-23

天天头条:全市文明行为示范月活动启动

2023-04-23

不干胶贴纸怎么清除_清除不干胶贴纸具体怎么做

2023-04-23

【当前独家】跪舔成习惯了,卖个宝马mini还看人下菜?

2023-04-23

短柱亚麻 世界快看

2023-04-22

主角是简云希傅禹风的小说叫什么名字_主角是简云希傅禹风的小说叫什么书名

2023-04-22

环球要闻:90后夫妻自导自演拍摄贩卖淫秽视频获利365万!获刑十年

2023-04-22

最新资讯:雨天登龟山,小朋友为蚕宝宝做环保“巴士”

2023-04-22

兰大一院完成甘肃首例胆管癌经PTC入路光动力治疗

2023-04-22

康绮墨丽油菜花洗发乳 天天热资讯

2023-04-22

时讯:李晨为“女生是累赘”言论道歉

2023-04-22

鄂湘赣三省共同打造长江中游城市群“组合港”_环球聚焦

2023-04-22

太强!勇士落后国王 库里正负值却遥遥领跑两队 绝境还得继续看他

2023-04-22

曲线运动一定是变速运动_曲线运动 每日热点

2023-04-22

各联赛欧战最新积分:英超、西甲、德甲和意甲前四

2023-04-22

保障“五一”假期船舶航行安全 厦门海上休闲旅游专项整治活动启动-世界信息

2023-04-22

smart精灵#3将于6月上市 同步开启交付

2023-04-22

每日动态!可爱深红爱浅红解释_可爱深红爱浅红

2023-04-22

当前消息!兰花种植方法_如何种植兰花

2023-04-22

商家旺季跟风涨价,往往得不偿失!

2023-04-22

坚不可摧迅雷下载 rmvb 下载_坚不可摧迅雷下载

2023-04-22

这个论坛,重点关注“Z世代”-全球热点

2023-04-22

世界速看:夯实责任、加压奋进,苏州望亭镇召开文明城市常态长效建设工作推进会

2023-04-22

【环球时快讯】小米13 Ultra热销:很多老用户以旧换新

2023-04-22

兰德尔谈麦迪逊花园主场气氛:这是我所期望的 我们从中汲取能量

2023-04-22

中国足彩网竞彩22日推荐:多伦多做客抢分_全球观焦点

2023-04-22

小米13 Ultra哪点有哪些?我给大家整理出来了 世界快看

2023-04-22

2023北京书市线上分展场正在进行中,您参与了吗? 环球聚焦

2023-04-22

环球看点!美团企业版康凯:企业消费进入3.0+时代

2023-04-22

周矶街道开展纪检监察信访举报知识宣传活动

2023-04-22

香格里拉杜鹃季:迪庆州推出5条赏杜鹃花线路|全球滚动

2023-04-22

我爱祖国的诗歌作品_我爱祖国的诗歌

2023-04-22

2023中国网络媒体论坛“青春律动·Z世代网络空间新表达”平行论坛在南京举办

2023-04-22

速读:C罗社媒:专注于备战半决赛,祝所有庆祝开斋节的人节日快乐

2023-04-22

全球热门:做优社区警务 擦亮平安底色

2023-04-22

澳门赛奖金曝光!孙颖莎4人共66万,钱天一10万,马龙保底12万

2023-04-22

世界热消息:商务部:一季度我国企业承接服务外包合同额5768亿元人民币 同比增长18.2%

2023-04-22

市场监管总局:重点打击8类违法行为 世界新动态

2023-04-22

捷尼赛思全系车型入华,北京汽车发布焕新战略|上海车展日评 前沿热点

2023-04-22

快看:宫颈囊肿用什么药最好正规药_宫颈囊肿用什么药最好

2023-04-22

鞋底材质_鞋底材质

2023-04-22

每日焦点!2023年宁波微信消费券有多少钱?附红包金额

2023-04-22

【天天热闻】华尔街接力看好中国经济! 美银上调2023年中国GDP预期至6.3%

2023-04-22

静脉血流方向示意图-血流静官

2023-04-22

关键路径是世界节点网络中_关键路径是事件结点网络中 全球观热点

2023-04-22

鄂CMT***因加塞被拦下,民警一查没那么简单

2023-04-22

世界快资讯:香山股份收年报问询函:说明衡器业务营业收入下降的原因

2023-04-22

罕见!星空银河和云海云瀑同框有多美

2023-04-22

世界观热点:做好行政后勤服务 助力教育教学高质量发展

2023-04-22

cf英雄武器大全最新的_cf英雄武器大全

2023-04-22

南通首支义务巡防车队“好通车队”正式启动

2023-04-22

世界信息:帽子怎么固定到头上(帽子怎么固定到头上)

2023-04-22

2023年济源示范区统一考试录用公务员体检(体能测评)公告

2023-04-22

浙江庆元:红色“巡疗”服务助力山区基层治理

2023-04-22

4月21日基金净值:华宝宝康配置混合最新净值3.39,跌1.35%

2023-04-22

天天最资讯丨嫁衣歌词_歌曲嫁衣歌词

2023-04-22

新东方发布2024考研白皮书:首次披露考研真实报录比

2023-04-22

每日聚焦:微商城怎么做引流_微商城怎么做

2023-04-22

山西太原小店区市场监管局举办食品生产许可换证培训会 最资讯

2023-04-22

最高法院:购房者权益优先!支持烂尾楼退款! 环球微动态

2023-04-22

天天快播:科创信息: 上海荣正企业咨询服务(集团)股份有限公司关于湖南科创信息技术股份有限公司2020年股票期权与限制性股票激励计划预留授予部分第二个行权-解除限售期行权-解除限售条件成就之独立财务顾问报告

2023-04-22

我的世界虚无世界2攻略传送门蓝图(我的世界虚无世界2攻略)

2023-04-22

重点聚焦!推特取消不付费账号蓝标认证,特朗普、比尔盖茨蓝“V”被抹除!专家警告:可能会引发......

2023-04-22

螺丝标准尺寸计算公式(螺丝标准尺寸规格表)

2023-04-22

全球快看点丨tan90度等于多少分数_tan90度等于多少

2023-04-21

Netflix 计划对广告订阅计划升级 提高视频分辨率

2023-04-21

天天看热讯:西峡县西坪镇:开展“一对一”帮包助企服务

2023-04-21

每日聚焦:战机公司中文无敌版_无敌机战私服官网

2023-04-21

小赢卡贷逾期九天还不起会上征信吗?-天天热点

2023-04-21

安康高新区第四届中小学生田径运动会暨艺术节开幕_环球观察

2023-04-21

热点聚焦:注意!和邦生物将于5月12日召开股东大会

2023-04-21

环球今日报丨4月21日永钢出台4月下旬建材价格政策:螺纹价格下调100元

2023-04-21

实时焦点:财报速递:中设股份2022年全年净利润5169.93万元,总体财务状况良好

2023-04-21

蓝风筝电影完整版在线_蓝风筝高清完整版 热闻

2023-04-21

郴州召开全市诉源治理工作推进会

2023-04-21

每日播报!据特斯拉美国官网:Model X、Model X Plaid版售价上调

2023-04-21

当前速看:兄妹歌词刘大拿_兄妹歌词

2023-04-21

楞伽悬记_关于楞伽悬记简述_全球速读

2023-04-21

【聚看点】怎么写脚本定时运行_怎么写脚本文件

2023-04-21

“双流织造”!国家级非遗蜀锦走向全球_当前热闻

2023-04-21

天天速讯:英雄列传之问劫_关于英雄列传之问劫的简介

2023-04-21

21解读丨深圳二手房参考价调整雾里看花|世界播资讯

2023-04-21

正平股份(603843.SH)与工商银行青海省分行签订《全面金融战略合作协议》

2023-04-21

5G小基站成焦点!协议栈“白盒化”助力新厂商弯道超车

2023-04-21

国家文物局:亚洲文化遗产保护联盟大会将在西安召开

2023-04-21

梁溪区这些赏景好去处 你知道吗?

2023-04-21

旬邑县气象台发布寒潮蓝色预警【Ⅳ级/一般】 世界热门

2023-04-21

天天时讯:观观福利丨盲盒+礼包 邀你携手AI畅想新未来

2023-04-21

浙大学生因辱华言论被拒录公务员是什么情况 世界报资讯

2023-04-21

终于明白为什么季后赛G2灰熊力克湖人,看完分析,豁然开朗 环球观点

2023-04-21

车展来了|自主品牌锚定“新能源赛道”,百万级新车长这样——

2023-04-21

售14.57万元起,标致408X正式上市

2023-04-21

美元走弱促纽约金价20日上涨

2023-04-21

税务登记证办理流程图_税务登记证办理流程

2023-04-21

返回顶部