首页
学习
活动
专区
圈层
工具
发布

程序里怎么表达“没有”

如果想表达“没有”,就只能用对应数据类型的默认值,比如,字符串的默认值是"",整数是0,布尔类型是false。在团队里展开了一个讨论——程序里要不要表达“没有”,和怎么表达“没有”。...用"--"表示没有数据 在业务开发中,不管用什么开发语言,一般都会用空来表示“没有”,比如Java中的null,MySQL中的NULL,js中的null和undefined,Python中的None等等...但,编译器却允许: char * p = 0; 因为0在C++里表示空指针,所以编译器做了特殊处理,视作合法。直到运行时触发了segment fault。...比如,一个常见的Web程序需要访问数据库,并把结果用json传输到客户端。也许程序本身有Optional支持,但是数据库和json并没有“Optional”的概念。...顺便歪歪一下,静态类型语言的开发者往往会习惯于编译器能处理大部分错误,然后在“没有”需要运行时检测这个事情上意识不足。

2.5K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    重新学习MySQL数据库10:MySQL里的那些日志们

    重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。...1.MySQL日志文件系统的组成 a、错误日志:记录启动、运行或停止mysqld时出现的问题。b、通用日志:记录建立的客户端连接和执行的语句。c、更新日志:记录更改数据的语句。...错误日志记录了MySQL Server每次启动和关闭的详细信息以及运行过程中所有较为严重的警告和错误信息。...为避免误导读者,特申明本文的讨论限制在 Win 64位 + MySQL 5.6 范围内。其他平台或数据库种类及版本,我没有尝试过,不做赘述。...SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录。

    2K40

    【数据库原里与运用|MySQL】MySQL各类索引的创建及使用

    索引的特点 索引的优点 索引的缺点 四、总结 前言         总所周知,数据库查询是数据库的最主要功能之一。...而支撑这一快速的背后就是索引;MySQL索引问题也是大家经常遇到的面试题模块,想想自己也没有去系统地总结过索引,所以记录这篇文章来讲下索引。...基本操作 查看索引 -- 1、查看数据库所有索引 select * from mysql.innodb_index_stats a where a.database_name = '数据库名’;...-- 2、查看表中所有索引 select * from mysql.innodb_index_stats a where a.database_name = '数据库名' and a.table_name...中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。

    1.9K20

    万里数据库受MySQL制裁或断供

    万里数据库受MySQL制裁或断供,开源的也能断供?华为的基于pg,阿里的基于mysql,tidb底层存储基于rocksdb,国内一般要么是基于pg要么是基于mysql。 没想到mysql也叛变了?...mysql的开源协议对个人用户是免费的,但企业拿mysql源码做修改或者干脆不做修改,而拿来进行商业销售或者转售,就需要花钱向mysql买商业授权。 人家可以卖给你,当然也可以不卖给你,这就叫断供。...而腾讯的tdsql基于mysql,是需要花钱买商业授权的。...创意信息5月27日在互动平台表示,万里数据库不会受MySQL制裁或断供影响,原因如下: 1.万里数据库核心部分为自主研发,存储节点基于GreatSQL开源技术; 2.GreatSQL开源项目虽属MySQL...分支,但核心技术不受MySQL主干技术影响,属独立技术演进分支; 3.GreatSQL社区核心由万里数据库主导,不受国外厂商、组织影响。

    1.5K50

    前端的世界里没有“容易”二字

    同时像Flutter for web(Flutter已经不仅仅可以运行在Android或者iOS上,还可以运行在Windows, MacOS, Linux, Chrome OS甚至是Web上)、还有Omi...4 微前端 微前端简单地说,就是将一个巨无霸(Monolith)的前端工程拆分成一个一个的小工程,你也可以理解微服务前端化,每一个小项目完全具备独立的开发、运行能力。...不过笔者更倾向于TS吧,因为我可以用装饰器很轻松的实现依赖注入,而且像抽象类、接口、类型推断、强类型这里ES6-10还没没有。不过仁者见仁智者见智,选择TS还是ES6还是要看具体的项目而定。 ?...成年人的世界没有“容易”二字,你学不动,别人学得动,你只能靠边站。但是为了给家人更好的生活,为了自己的梦想,你必须坚持下去。...引用张爱玲的一句话:中年以后的男人,时常会觉得很孤独,因为他一睁开眼,周围都是要依靠他的人,却没有他可以依靠的人。 前端技术路漫漫,成长的曲线非常的陡峭。

    1.1K20

    MongoDB系列之Docker里运行JS脚本

    不过因为安全问题,所以端口没对外开放出来,所以不用使用比如Navicat这些客户端软件,所以执行脚本就要到命令窗口执行,执行脚本不长还好,太长的话,复制到shell窗口一大串要很长时间 因为装在docker里,...0ac56ae108c0 bash 因为要执行一大串的脚本,黏贴到shell窗口里,就要很长时间,所以问题来了,直接复制一大串代码执行的方法太慢了,只能看看能不能用命令执行文件,将代码弄到一个js文件里,...然后用命令执行 先从MongoDB数据库导出js脚本,然后在js脚本文件里,在其最前面加上连接数据库的代码: conn = new Mongo("127.0.0.1:27017"); db = conn.getDB...("test"); 然后保存,使用docker命令复制js文件到MongoDB容器里 docker cp /opt/test.js 0ac56ae108c0:/opt/test.js 然后使用mongo...命令执行js脚本,注意是要到MongoDB容器里执行 # 到/opt目录 cd /opt # 执行js脚本 mongo test.js 总结:本博客需要一些docker基础,没遇到这个问题的读者,可能不太理解

    2.4K30

    在MySQL Shell里 重启MySQL 8.4实例

    前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例,感觉这个操作很方便,所以来试试,下面为该工程师的操作截图 1.MySQL Shell 通过root用户连上... SQL > 2.我们从系统上看一下mysql服务,看来默认在mysqlsh里shutdown mysql实例可以使用 [root@mysql8_3 bin]# systemctl status mysqld83308...[root@mysql8_3 bin]# 4.我们在mysqlsh里执行重启命令,报错了 [root@mysql8_3 bin]# mysqlshMySQL Shell 8.4.5Copyright (...-ne $MYSQLD_RESTART_EXIT ]; thenbreakfiDone 6.我们根据官方文档创建mysql 启动脚本并启动数据库,当然启动前先要停止mysql实例 [root@mysql8.../start.sh 7.测试,通过使用官方提供的脚本格式编写的start.sh脚本启动数据库,能够实现mysqlsh重启mysql实例 8.根据这个脚本的逻辑修改systemd启动脚本 [root@mysql8

    65310
    领券