摘要:近日,懷著新語言的一門心思,在鍵盤上敲敲打打。究其原因,就是因為兩個根本不是一個玩意兒反思為弱類型語言,這種非同類型賦值簡直寫起來不要太舒服。
近日,懷著新語言的一門心思,在鍵盤上敲敲打打。golang的強類型有時候著實讓人有點摸不著頭腦(對于習慣了php的老人來說)
下面是一個golang的例子
再看看命令行
雖然if中間的var賦值user挺蠢的,而且就golang的強類型申明user類型之后再來var顯得很小白,但是梳理整個邏輯,發現了一個重要的信息點,甚至是背心出了一身冷汗!反思重現:最開始我想的是ResponseSuc里頭統一返回user,所以就用了if else做user的數據處理,按照php的邏輯,第一個if里頭不用var,直接user=****就行了,根本不用管類型。(所以var的出現,就是因為去掉var之后限制了user的類型而產生,為了語法不報錯而不經過大腦,蠢哭)
結果看到了,就是第一個user打印出來了一大坨數據,而最下面的user沒有數據。究其原因,就是因為兩個user根本不是一個玩意兒
php為弱類型語言,這種非同類型賦值簡直寫起來不要太舒服。然而golang的語法和php對比,終于讓我發現,弱類型的嚴重缺陷,見下圖
注golang中if之前就已經開始報錯,因為是非同類型的比較,程序根本運行不起來
注php里頭可見0=="0"是true的
同理,可以驗證null,""等特殊的玩意兒
那么有什么影響呢
好吧,雖然用了谷歌,還是追到了騰訊的ip上PHP弱類型在實戰中導致的漏洞總結
附上php的類型比較圖php.net
最后,帖子瀏覽完,感覺大部分PHP系統可能都在裸奔!
友情鏈接《刑法》案例查詢
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/31433.html
摘要:原始數據其中是我要進行處理的字段,處理完成之后再次使用進行編碼。所以正確的做法是在解碼的時候不要傳遞第二個參數讓解碼結果是一個對象,然后操作對象的屬性,操作完成之后再次編碼就不會出現偏差。 場景:某項目客戶反饋,輸出的結果 JSON 中有個要求為對象的數據字段,在某些情況下返回的是 [] 而不是 {};數據由公司其他部門提供,查看原始數據的時候,沒有發現任何問題;后來因為要加入某些預處...
摘要:學習第一課變量注釋輸出上圖是一段超級簡單的輸出的代碼,是不是超級簡單呢今天文章講的就是這幾行代碼的知識。變量可以通過變量名訪問。用來定義聲明一個變量。有返回值,總是返回。輸出格式化的字符串,有返回值,返回值是輸出的字符串的長度。 來一波 Hello World,各位看官先感受下。PHP學習第一課:變量、注釋、輸出上圖是一段超級簡單的輸出 Hello World 的代碼,是不是超級簡單呢...
摘要:但是在以來,在面向對象中,為方法帶來了類型約束,然而這些都非常的雞肋,從文檔上可以看到。支持對象接口支持數組支持匿名函數類型約束不能用于標量類型如或。它的運作方式,是在中設置一個標志位,讓函數調用和返回類型檢查符合類型約束。 起點 眾所周知,PHP 是弱類型語言,與其他強類型語言項目,在這方面會有很多的坑,但是已經發展到 PHP 7 之后,PHP 也對類型約束有了所指,并且在許多流行框...
摘要:若要開啟刪除鏡像功能,需要修改鏡像倉庫的配置文件。一個可行的解決辦法是手動更改鏡像倉庫的配置,暫時禁止鏡像的操作。 用友云開發者中心是基于Docker容器進行微服務架構應用的落地與管理。相信各位同學在使用的過程中,會發現隨著Docker鏡像的增多,占用磁盤空間也約來越多。這時我們需要清理私有鏡像倉庫中不需要的鏡像。但在實際操作時,才會發現這本以為很簡單的任務中卻暗藏玄機,遇到了不少的麻...
閱讀 2104·2023-04-25 20:52
閱讀 2497·2021-09-22 15:22
閱讀 2128·2021-08-09 13:44
閱讀 1772·2019-08-30 13:55
閱讀 2813·2019-08-23 15:42
閱讀 2287·2019-08-23 14:14
閱讀 2880·2019-08-23 13:58
閱讀 3009·2019-08-23 11:49