在一次项目实战中,/和\问题引起的混乱对程序员来说不会陌生。一般用于转义字符的使用。例如,\n
普通的用户来说/恐怕不会陌生,比如我们输入域名的时候就是使用/。我们来先看个我实战项目发现的一个好玩的现象:
代码的细节的话,我不用解释了很简单的一个代码。看到最后一行我们使用反斜杠\来输出系统变量,如果采用正斜杠/的话就会出现如下的错误:
翻译成中文就是分析错误:语法错误,意外的“/”
使用正斜杠/怎么语法就变成错误了呢?后来我就去百度了一下然后打开了我才明白了/和\之间的区别。
正斜杠和反斜杠的区别:
1、适用的系统不同:
在windows系统中,\ 用来表示目录。而在unix系统中,/ 表示目录。
2、web路径使用条件不同:
由于web遵循unix命名,所以在网址(URL)中,/ 表示目录。例如:出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/。
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
windows系统上已经不区分/和\了
所以我们可以看出来我之前出错的原因,毕竟windows想要与众不同,所以如果是windows系统的话,使用反斜杠来代表目录是绝对不会出错的。