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)營(yíng)銷解決方案
      go語言怎么將1變成49 go語言怎么讀

      go語言怎么修改字符串中的某一個(gè)字符?

      go語言的字符串是UTF-8編碼的、不可改變的字節(jié)序列。

      創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷人員及形象策劃。承接:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

      要修改字符串,只能以原串為基礎(chǔ),創(chuàng)建一個(gè)新串。下面的圖中是一個(gè)參考示例,提供了以原串為藍(lán)本,創(chuàng)建新串的兩種方法。

      代碼

      輸出

      go語言中怎么把一個(gè)變量轉(zhuǎn)成常量?

      利用 const 可以定義一個(gè)常量

      const i=100

      利用var 可以定義一個(gè)變量

      var t int

      當(dāng)你將變量賦值以后,在程序不進(jìn)行值的修改就可以當(dāng)常量用

      t=i

      在一個(gè)包里,定義變量時(shí)使用小寫,格外定義個(gè)取值方法。則,在包外可以通過這個(gè)取值方法獲得值,直接無法使用。如果要實(shí)現(xiàn)只在函數(shù)內(nèi)部使用,則可以將變量定義在函數(shù)內(nèi)部。

      func GetValue() int {

      t:=i

      return t

      }

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

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

      在本教程中,您將為一個(gè)簡(jiǎn)單的函數(shù)編寫一個(gè)模糊測(cè)試,運(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命令,為其提供新代碼的模塊路徑。

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

      在此步驟中,您將添加一個(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í)候測(cè)試它了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      模糊測(cè)試時(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; 新的失敗種子語料庫條目將被使用:

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

      Go語言中有單個(gè)字符和ascii碼值直接轉(zhuǎn)換的方法嗎

      直接將字符變量賦值給整型變量,即可實(shí)現(xiàn)字符到對(duì)應(yīng)ASCII碼的轉(zhuǎn)換。

      具體實(shí)現(xiàn)方法可以參考如下程序段:

      char str[]="abds%*34dfs"; // 定義一個(gè)字符數(shù)組,存放待轉(zhuǎn)換為ASCII碼的字符串

      int AsciiNum[20]; // 定義一個(gè)整型數(shù)組,存放字符所對(duì)應(yīng)的ASCII碼值,數(shù)組大小根據(jù)字符串長(zhǎng)度進(jìn)行設(shè)置

      int i;

      // 將字符串的每個(gè)字符逐個(gè)賦值給整型數(shù)組AsciiNum,即實(shí)現(xiàn)字符到ASCII碼值的轉(zhuǎn)換

      for(i=0; istrlen(str); i++)

      {

      AsciiNum[i] = str[i]; // 最后數(shù)組AsciiNum就是字符串每個(gè)字符所對(duì)應(yīng)ASCII碼值的數(shù)組

      }

      GO語言(十一):開始使用多模塊工作區(qū)

      本教程介紹 Go 中多模塊工作區(qū)的基礎(chǔ)知識(shí)。使用多模塊工作區(qū),您可以告訴 Go 命令您正在同時(shí)在多個(gè)模塊中編寫代碼,并輕松地在這些模塊中構(gòu)建和運(yùn)行代碼。

      在本教程中,您將在共享的多模塊工作區(qū)中創(chuàng)建兩個(gè)模塊,對(duì)這些模塊進(jìn)行更改,并在構(gòu)建中查看這些更改的結(jié)果。

      本教程需要 go1.18 或更高版本。使用go.dev/dl中的鏈接確保您已在 Go 1.18 或更高版本中安裝了 Go 。

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

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

      在 Linux 或 Mac 上:

      在 Windows 上:

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

      3、初始化模塊

      我們的示例將創(chuàng)建一個(gè)hello依賴于 golang.org/x/example 模塊的新模塊。

      創(chuàng)建你好模塊:

      使用 . 添加對(duì) golang.org/x/example 模塊的依賴項(xiàng)go get。

      在 hello 目錄下創(chuàng)建 hello.go,內(nèi)容如下:

      現(xiàn)在,運(yùn)行 hello 程序:

      在這一步中,我們將創(chuàng)建一個(gè)go.work文件來指定模塊的工作區(qū)。

      在workspace目錄中,運(yùn)行:

      該go work init命令告訴為包含目錄中模塊的工作空間go創(chuàng)建一個(gè)文件 。go.work./hello

      該go命令生成一個(gè)go.work如下所示的文件:

      該go.work文件的語法與go.mod相同。

      該go指令告訴 Go 應(yīng)該使用哪個(gè)版本的 Go 來解釋文件。它類似于文件中的go指令go.mod 。

      該use指令告訴 Go在進(jìn)行構(gòu)建時(shí)hello目錄中的模塊應(yīng)該是主模塊。

      所以在模塊的任何子目錄中workspace都會(huì)被激活。

      2、運(yùn)行工作區(qū)目錄下的程序

      在workspace目錄中,運(yùn)行:

      Go 命令包括工作區(qū)中的所有模塊作為主模塊。這允許我們?cè)谀K中引用一個(gè)包,即使在模塊之外。在模塊或工作區(qū)之外運(yùn)行g(shù)o run命令會(huì)導(dǎo)致錯(cuò)誤,因?yàn)樵揼o命令不知道要使用哪些模塊。

      接下來,我們將golang.org/x/example模塊的本地副本添加到工作區(qū)。然后,我們將向stringutil包中添加一個(gè)新函數(shù),我們可以使用它來代替Reverse.

      在這一步中,我們將下載包含該模塊的 Git 存儲(chǔ)庫的副本golang.org/x/example,將其添加到工作區(qū),然后向其中添加一個(gè)我們將從 hello 程序中使用的新函數(shù)。

      1、克隆存儲(chǔ)庫

      在工作區(qū)目錄中,運(yùn)行g(shù)it命令來克隆存儲(chǔ)庫:

      2、將模塊添加到工作區(qū)

      該go work use命令將一個(gè)新模塊添加到 go.work 文件中。它現(xiàn)在看起來像這樣:

      該模塊現(xiàn)在包括example.com/hello模塊和 `golang.org/x/example 模塊。

      這將允許我們使用我們將在模塊副本中編寫的新代碼,而不是使用命令stringutil下載的模塊緩存中的模塊版本。

      3、添加新功能。

      我們將向golang.org/x/example/stringutil包中添加一個(gè)新函數(shù)以將字符串大寫。

      將新文件夾添加到workspace/example/stringutil包含以下內(nèi)容的目錄:

      4、修改hello程序以使用該功能。

      修改workspace/hello/hello.go的內(nèi)容以包含以下內(nèi)容:

      從工作區(qū)目錄,運(yùn)行

      Go 命令在go.work文件指定的hello目錄中查找命令行中指定的example.com/hello模塊 ,同樣使用go.work文件解析導(dǎo)入golang.org/x/example。

      go.work可以用來代替添加replace 指令以跨多個(gè)模塊工作。

      由于這兩個(gè)模塊在同一個(gè)工作區(qū)中,因此很容易在一個(gè)模塊中進(jìn)行更改并在另一個(gè)模塊中使用它。

      現(xiàn)在,要正確發(fā)布這些模塊,我們需要發(fā)布golang.org/x/example 模塊,例如在v0.1.0. 這通常通過在模塊的版本控制存儲(chǔ)庫上標(biāo)記提交來完成。發(fā)布完成后,我們可以增加對(duì) golang.org/x/example模塊的要求hello/go.mod:

      這樣,該go命令可以正確解析工作區(qū)之外的模塊。

      go語言怎么將二進(jìn)制轉(zhuǎn)為字符串

      func ByteToBinaryString(data byte) (str string) {

      var a byte

      for i:=0; i 8; i++ {

      a = data

      data = 1

      data = 1

      switch (a) {

      case data: str += "0"

      default: str += "1"

      }

      data = 1

      }

      return str

      }

      //該代碼片段來自于:

      使用方法package main

      import . "fmt"

      func main() {

      Printf("[%s][%s][%s][%s]\n",

      ByteToBinaryString(byte(0)),ByteToBinaryString(byte(231)),

      ByteToBinaryString(byte(168)), ByteToBinaryString(byte(162)))

      }


      名稱欄目:go語言怎么將1變成49 go語言怎么讀
      網(wǎng)頁地址:http://www.ef60e0e.cn/article/doohsje.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>

        白水县| 东乡族自治县| 会宁县| 中山市| 顺昌县| 朝阳区| 洛隆县| 和龙市| 色达县| 格尔木市| 延吉市| 合作市| 赤壁市| 枝江市| 兴义市| 西安市| 岳普湖县| 洛扎县| 阿鲁科尔沁旗| 怀安县| 大连市| 新民市| 临湘市| 平原县| 盖州市| 苍南县| 公主岭市| 宁国市| 海丰县| 濮阳县| 叶城县| 延吉市| 沙坪坝区| 淮南市| 修水县| 三台县| 陆丰市| 乐平市| 康定县| 秭归县| 绵竹市|