在一次項目實戰中,因為/和\的問題搞的暈頭轉向,對于程序員來說\恐怕不會陌生,通常是用來轉義字符使用比如\n。普通的用戶來說/恐怕不會陌生,比如我們輸入域名的時候就是使用/。
我們來先看個我實戰項目發現的一個好玩的現象:
代碼的細節的話,我不用解釋了很簡單的一個代碼。看到最後一行我們使用反斜杠\來輸出系統變量,如果采用正斜杠/的話就會出現如下的錯誤:
翻譯成中文就是分析錯誤:語法錯誤,意外的“/”
使用正斜杠/怎麼語法就變成錯誤了呢?後來我就去百度了一下然後打開了我才明白了/和\之間的區别。
正斜杠和反斜杠的區别:
1、适用的系統不同:
在windows系統中,\ 用來表示目錄。而在unix系統中,/ 表示目錄。
2、web路徑使用條件不同:
由于web遵循unix命名,所以在網址(URL)中,/ 表示目錄。例如:出現在html url() 屬性中的路徑,指定的路徑是網絡路徑,所以必須用 斜杆/。
Unix使用斜杆/ 作為路徑分隔符,而web應用最新使用在Unix系統上面,所以目前所有的網絡地址都采用 斜杆/ 作為分隔符。
Windows由于使用 斜杆/ 作為DOS命令提示符的參數标志了,為了不混淆,所以采用 反斜杠\ 作為路徑分隔符。所以目前windows系統上的文件浏覽器都是用 反斜杠\ 作為路徑分隔符。随着發展,DOS系統已經被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多數情況下可以互換,沒有影響。
windows系統上已經不區分/和\了
所以我們可以看出來我之前出錯的原因,畢竟windows想要與衆不同,所以如果是windows系統的話,使用反斜杠來代表目錄是絕對不會出錯的。
,