1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      go語言新手入門 go 語言

      GO語言(十五):泛型入門(下)-

      在本節(jié)中,您將添加通用函數(shù)調(diào)用的修改版本,進(jìn)行小的更改以簡化調(diào)用代碼。您將刪除在這種情況下不需要的類型參數(shù)。

      為企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站優(yōu)化、成都全網(wǎng)營銷推廣、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。成都創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!

      當(dāng) Go 編譯器可以推斷您要使用的類型時(shí),您可以在調(diào)用代碼中省略類型參數(shù)。編譯器從函數(shù)參數(shù)的類型推斷類型參數(shù)。

      請(qǐng)注意,這并不總是可能的。例如,如果您需要調(diào)用沒有參數(shù)的泛型函數(shù),則需要在函數(shù)調(diào)用中包含類型參數(shù)。

      在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

      在此代碼中:

      (1)調(diào)用泛型函數(shù),省略類型參數(shù)。

      從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

      接下來,您將通過將整數(shù)和浮點(diǎn)數(shù)的并集捕獲到您可以重用的類型約束(例如從其他代碼中)來進(jìn)一步簡化函數(shù)。

      正如您將在本節(jié)中看到的,約束接口也可以引用特定類型。

      1、編寫代碼

      在此代碼中:

      b.在您已有的函數(shù)下方,粘貼以下通用 SumNumbers函數(shù)。

      在此代碼中:

      c.在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

      在此代碼中:

      (1)調(diào)用SumNumbers打印每個(gè)map的總和。

      與上一節(jié)一樣,在調(diào)用泛型函數(shù)時(shí)省略了類型參數(shù)(方括號(hào)中的類型名稱)。Go 編譯器可以從其他參數(shù)推斷類型參數(shù)。

      從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

      做得很好!您剛剛學(xué)習(xí)了 Go 中的泛型。

      GO語言有哪些優(yōu)勢?怎樣入門?

      1、學(xué)習(xí)曲線

      它包含了類C語法、GC內(nèi)置和工程工具。這一點(diǎn)非常重要,因?yàn)镚o語言容易學(xué)習(xí),所以一個(gè)普通的大學(xué)生花一個(gè)星期就能寫出來可以上手的、高性能的應(yīng)用。在國內(nèi)大家都追求快,這也是為什么國內(nèi)Go流行的原因之一。

      2、效率

      Go擁有接近C的運(yùn)行效率和接近PHP的開發(fā)效率,這就很有利的支撐了上面大家追求快速的需求。

      3、出身名門、血統(tǒng)純正

      之所以說Go語言出身名門,是因?yàn)槲覀冎繥o語言出自Google公司,這個(gè)公司在業(yè)界的知名度和實(shí)力自然不用多說。Google公司聚集了一批牛人,在各種編程語言稱雄爭霸的局面下推出新的編程語言,自然有它的戰(zhàn)略考慮。而且從Go語言的發(fā)展態(tài)勢來看,Google對(duì)它這個(gè)新的寵兒還是很看重的,Go自然有一個(gè)良好的發(fā)展前途。我們看看Go語言的主要?jiǎng)?chuàng)造者,血統(tǒng)純正這點(diǎn)就可見端倪了。

      4、自由高效:組合的思想、無侵入式的接口

      Go語言可以說是開發(fā)效率和運(yùn)行效率二者的完美融合,天生的并發(fā)編程支持。Go語言支持當(dāng)前所有的編程范式,包括過程式編程、面向?qū)ο缶幊桃约昂瘮?shù)式編程。程序員們可以各取所需、自由組合、想怎么玩就怎么玩。

      5、強(qiáng)大的標(biāo)準(zhǔn)庫

      這包括互聯(lián)網(wǎng)應(yīng)用、系統(tǒng)編程和網(wǎng)絡(luò)編程。Go里面的標(biāo)準(zhǔn)庫基本上已經(jīng)是非常穩(wěn)定了,特別是我這里提到的三個(gè),網(wǎng)絡(luò)層、系統(tǒng)層的庫非常實(shí)用。

      6、部署方便:二進(jìn)制文件、Copy部署

      我相信這一點(diǎn)是很多人選擇Go的最大理由,因?yàn)椴渴鹛奖懔耍袁F(xiàn)在也有很多人用Go開發(fā)運(yùn)維程序。

      7、簡單的并發(fā)

      它包含了降低心智的并發(fā)和簡易的數(shù)據(jù)同步,我覺得這是Go最大的特色。之所以寫正確的并發(fā)、容錯(cuò)和可擴(kuò)展的程序如此之難,是因?yàn)槲覀冇昧隋e(cuò)誤的工具和錯(cuò)誤的抽象,Go可以說這一塊做的相當(dāng)簡單。

      8、穩(wěn)定性

      Go擁有強(qiáng)大的編譯檢查、嚴(yán)格的編碼規(guī)范和完整的軟件生命周期工具,具有很強(qiáng)的穩(wěn)定性,穩(wěn)定壓倒一切。那么為什么Go相比于其他程序會(huì)更穩(wěn)定呢?這是因?yàn)镚o提供了軟件生命周期(開發(fā)、測試、部署、維護(hù)等等)的各個(gè)環(huán)節(jié)的工具,如go

      tool、gofmt、go test。

      GO語言(十六):模糊測試入門(上)

      本教程介紹了 Go 中模糊測試的基礎(chǔ)知識(shí)。通過模糊測試,隨機(jī)數(shù)據(jù)會(huì)針對(duì)您的測試運(yùn)行,以嘗試找出漏洞或?qū)е卤罎⒌妮斎搿?梢酝ㄟ^模糊測試發(fā)現(xiàn)的一些漏洞示例包括 SQL 注入、緩沖區(qū)溢出、拒絕服務(wù)和跨站點(diǎn)腳本攻擊。

      在本教程中,您將為一個(gè)簡單的函數(shù)編寫一個(gè)模糊測試,運(yùn)行 go 命令,并調(diào)試和修復(fù)代碼中的問題。

      首先,為您要編寫的代碼創(chuàng)建一個(gè)文件夾。

      1、打開命令提示符并切換到您的主目錄。

      在 Linux 或 Mac 上:

      在 Windows 上:

      2、在命令提示符下,為您的代碼創(chuàng)建一個(gè)名為 fuzz 的目錄。

      3、創(chuàng)建一個(gè)模塊來保存您的代碼。

      運(yùn)行g(shù)o mod init命令,為其提供新代碼的模塊路徑。

      接下來,您將添加一些簡單的代碼來反轉(zhuǎn)字符串,稍后我們將對(duì)其進(jìn)行模糊測試。

      在此步驟中,您將添加一個(gè)函數(shù)來反轉(zhuǎn)字符串。

      a.使用您的文本編輯器,在 fuzz 目錄中創(chuàng)建一個(gè)名為 main.go 的文件。

      獨(dú)立程序(與庫相反)始終位于 package 中main。

      此函數(shù)將接受string,使用byte進(jìn)行循環(huán) ,并在最后返回反轉(zhuǎn)的字符串。

      此函數(shù)將運(yùn)行一些Reverse操作,然后將輸出打印到命令行。這有助于查看運(yùn)行中的代碼,并可能有助于調(diào)試。

      e.該main函數(shù)使用 fmt 包,因此您需要導(dǎo)入它。

      第一行代碼應(yīng)如下所示:

      從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

      可以看到原來的字符串,反轉(zhuǎn)它的結(jié)果,然后再反轉(zhuǎn)它的結(jié)果,就相當(dāng)于原來的了。

      現(xiàn)在代碼正在運(yùn)行,是時(shí)候測試它了。

      在這一步中,您將為Reverse函數(shù)編寫一個(gè)基本的單元測試。

      a.使用您的文本編輯器,在 fuzz 目錄中創(chuàng)建一個(gè)名為 reverse_test.go 的文件。

      b.將以下代碼粘貼到 reverse_test.go 中。

      這個(gè)簡單的測試將斷言列出的輸入字符串將被正確反轉(zhuǎn)。

      使用運(yùn)行單元測試go test

      接下來,您將單元測試更改為模糊測試。

      單元測試有局限性,即每個(gè)輸入都必須由開發(fā)人員添加到測試中。模糊測試的一個(gè)好處是它可以為您的代碼提供輸入,并且可以識(shí)別您提出的測試用例沒有達(dá)到的邊緣用例。

      在本節(jié)中,您將單元測試轉(zhuǎn)換為模糊測試,這樣您就可以用更少的工作生成更多的輸入!

      請(qǐng)注意,您可以將單元測試、基準(zhǔn)測試和模糊測試保存在同一個(gè) *_test.go 文件中,但對(duì)于本示例,您將單元測試轉(zhuǎn)換為模糊測試。

      在您的文本編輯器中,將 reverse_test.go 中的單元測試替換為以下模糊測試。

      Fuzzing 也有一些限制。在您的單元測試中,您可以預(yù)測Reverse函數(shù)的預(yù)期輸出,并驗(yàn)證實(shí)際輸出是否滿足這些預(yù)期。

      例如,在測試用例Reverse("Hello, world")中,單元測試將返回指定為"dlrow ,olleH".

      模糊測試時(shí),您無法預(yù)測預(yù)期輸出,因?yàn)槟鸁o法控制輸入。

      但是,Reverse您可以在模糊測試中驗(yàn)證函數(shù)的一些屬性。在這個(gè)模糊測試中檢查的兩個(gè)屬性是:

      (1)將字符串反轉(zhuǎn)兩次保留原始值

      (2)反轉(zhuǎn)的字符串將其狀態(tài)保留為有效的 UTF-8。

      注意單元測試和模糊測試之間的語法差異:

      (3)確保新包unicode/utf8已導(dǎo)入。

      隨著單元測試轉(zhuǎn)換為模糊測試,是時(shí)候再次運(yùn)行測試了。

      a.在不進(jìn)行模糊測試的情況下運(yùn)行模糊測試,以確保種子輸入通過。

      如果您在該文件中有其他測試,您也可以運(yùn)行g(shù)o test -run=FuzzReverse,并且您只想運(yùn)行模糊測試。

      b.運(yùn)行FuzzReverse模糊測試,查看是否有任何隨機(jī)生成的字符串輸入會(huì)導(dǎo)致失敗。這是使用go test新標(biāo)志-fuzz執(zhí)行的。

      模糊測試時(shí)發(fā)生故障,導(dǎo)致問題的輸入被寫入將在下次運(yùn)行的種子語料庫文件中g(shù)o test,即使沒有-fuzz標(biāo)志也是如此。要查看導(dǎo)致失敗的輸入,請(qǐng)?jiān)谖谋揪庉嬈髦写蜷_寫入 testdata/fuzz/FuzzReverse 目錄的語料庫文件。您的種子語料庫文件可能包含不同的字符串,但格式相同。

      語料庫文件的第一行表示編碼版本。以下每一行代表構(gòu)成語料庫條目的每種類型的值。由于 fuzz target 只需要 1 個(gè)輸入,因此版本之后只有 1 個(gè)值。

      c.運(yùn)行沒有-fuzz標(biāo)志的go test; 新的失敗種子語料庫條目將被使用:

      由于我們的測試失敗,是時(shí)候調(diào)試了。


      網(wǎng)頁標(biāo)題:go語言新手入門 go 語言
      URL地址:http://www.ef60e0e.cn/article/dojcsej.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        梅河口市| 巴楚县| 咸阳市| 兴和县| 黄龙县| 红原县| 遵义县| 尖扎县| 洮南市| 余江县| 礼泉县| 项城市| 宁阳县| 会同县| 芦溪县| 桂东县| 武汉市| 新河县| 崇州市| 迁安市| 陵川县| 河曲县| 偏关县| 马龙县| 来宾市| 巩留县| 莎车县| 崇州市| 涡阳县| 盐津县| 清水河县| 宁国市| 浠水县| 峨眉山市| 北票市| 阜新市| 洪泽县| 丹东市| 浏阳市| 洛扎县| 大姚县|