Go语言入门
程序结构 声明与变量 在 Go 语言中,字面量(Literal) 的概念和 C++ 中的字面量非常相似,都是指在代码中直接表示固定值的符号或表达式。它们用于表示基本数据类型(如整数、浮点数、字符、字符串等)的常量值,而无需通过变量或计算来获取。 场景 短赋值 := 一般赋值 = 函数内声明新变量 ✅ ❌(需配合 var) 包作用域变量赋值 ❌ ✅ 仅赋值(变量已声明) ❌ ✅ 多变量赋值(含新变量) ✅ ❌ 显式指定变量类型 ❌ ✅(配合 var) 流程控制 for Go 只有一种循环结构:for 循环。基本的 for 循环由三部分组成,它们用分号隔开,表达式外无需小括号 ( ),而大括号 { } 则是必须的 123for i := 0; i < 10; i++ { sum += i+sum} 初始化语句和后置语句是可选的,且可以去掉分号,此时for相当于C++中的while 123for sum < 1000 { sum +=...
Google File System 笔记
使用了单一主控方式,master仅储存文件的元数据,包括区块命名空间,文件和区块的映射,以及每个区块副本的位置,这些都直接存储在master的内存里,因此访问速度很快 操作日志很重要,是元数据的持久性记录,并且充当了定义并发操作顺序的逻辑时间线 GFS 的主要需求 在学习 GFS 的原理前,首先我们应当了解 GFS 在设计时所面对的需求场景。简单概括,GFS 的设计主要基于以下几个需求: 节点失效是常态。系统会构建在大量的普通机器上,这使得节点失效的可能性很高。因此,GFS 必须能有较高的容错性、能够持续地监控自身的状态,同时还要能够顺畅地从节点失效中快速恢复 存储内容以大文件为主。系统需要存储的内容在通常情况下由数量不多的大文件构成,每个文件通常有几百 MB 甚至是几 GB 的大小;系统应当支持小文件,但不需要为其做出优化 主要负载为大容量连续读、小容量随机读以及追加式的连续写 系统应当支持高效且原子的文件追加操作,源于在 Google 的情境中,这些文件多用于生产者-消费者模式或是多路归并 当需要做出取舍时,系统应选择高数据吞吐量而不是低延时 GFS...
c++ whale market项目总结
第一次从无到有的构建了第一个多模块化复杂系统,根据教程完成了界面—系统—文件的三层信息交互,也算是由模仿走向创造的第一步 程序架构 整体的程序大致分为三个主要部分: 用户、商品、订单的数据结构部分,包含对数据结构元素的修改、输出,以及与文件的信息交互 1234567891011121314151617181920212223242526272829303132#pragma once#include <string>class User { public: std::string user_ID; std::string user_name; std::string user_passwd; std::string contact; std::string address; double balance;};// 用户与文件操作void pull_users();void push_users();// 用户获取,添加,与删除User* get_user(int index);bool...
HelloWorld
你好!世界!