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語言遍歷教程 golang 字符串遍歷

      Go中字符串的遍歷

      首先說一下go中的字符串類型:

      創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供沅陵網(wǎng)站建設(shè)、沅陵做網(wǎng)站、沅陵網(wǎng)站設(shè)計(jì)、沅陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、沅陵企業(yè)網(wǎng)站模板建站服務(wù),10年沅陵做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

      字符串就是一串固定長(zhǎng)度的字符連接起來的字符序列。Go的字符串是由單個(gè)字節(jié)連接起來的。Go語言的字符串的字節(jié)使用UTF-8編碼標(biāo)識(shí)Unicode文本。

      下面介紹字符串的三種遍歷方式,根據(jù)實(shí)際情況選擇即可。

      該遍歷方式==缺點(diǎn)==:遍歷是按照字節(jié)遍歷,因此如果有中文等非英文字符,就會(huì)出現(xiàn)亂碼,比如要遍歷"abc北京"這個(gè)字符串,效果如下:

      可見這不是我們想要的效果,根據(jù)utf-8中文編碼規(guī)則,我們要str[3]str[4]str[5]三個(gè)字節(jié)合起來組成“北”字及 str[6]str[7]str[8]合起來組成“京”字。由此引出下面第二種遍歷方法。

      該方式是按照字符遍歷的,所以不會(huì)出現(xiàn)亂碼,如下:

      運(yùn)行結(jié)果:

      從圖中可以看到第二個(gè)漢子“京”的開始下標(biāo)是6,直接跳過了4和5,可見確實(shí)依照utf8編碼方式將三個(gè)字節(jié)組合成了一個(gè)漢字,str[3]-str[5]組合成“北”字,str[6]-str[8]組合成了“京”字。

      由于下標(biāo)的不確定性,所以引出了下面的遍歷方式。

      1 可以先將字符串轉(zhuǎn)成 []rune 切片

      2 再用常規(guī)方法進(jìn)行遍歷

      運(yùn)行效果:

      由此可見下標(biāo)是按1遞增的,沒有產(chǎn)生跳躍現(xiàn)象。

      GO語言入門,有什么好的教程啊?

      可以學(xué)習(xí)黑馬程序員的這個(gè)教程

      20小時(shí)快速入門go語言:網(wǎng)頁鏈接

      go語言的優(yōu)勢(shì)

      可直接編譯成機(jī)器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。

      靜態(tài)類型語言,但是有動(dòng)態(tài)語言的感覺,靜態(tài)類型的語言就是可以在編譯的時(shí)候檢查出來隱藏的大多數(shù)問題,動(dòng)態(tài)語言的感覺就是有很多的包可以使用,寫起來的效率很高。

      語言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā)。Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。

      內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語言的特性之一吧,雖然目前來說GC(內(nèi)存垃圾回收機(jī)制)不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。

      簡(jiǎn)單易學(xué),Go語言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語言見過的特性:繼承、重載、對(duì)象等。

      豐富的標(biāo)準(zhǔn)庫,Go目前已經(jīng)內(nèi)置了大量的庫,特別是網(wǎng)絡(luò)庫非常強(qiáng)大。

      內(nèi)置強(qiáng)大的工具,Go語言里面內(nèi)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡(jiǎn)單,代碼格式一模一樣,想不一樣都很困難。

      跨平臺(tái)編譯,如果你寫的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統(tǒng)的信息。

      內(nèi)嵌C支持,Go里面也可以直接包含C代碼,利用現(xiàn)有的豐富的C庫。

      Go語言實(shí)現(xiàn)二叉樹遍歷

      圖例如下:

      結(jié)果應(yīng)該是分別是:

      廣度優(yōu)先: a - b - c - d - f - e - g

      先序遍歷: a - b - d - e - f - g - c

      中序遍歷: e - d - b - g - f - a - c

      后序遍歷: e - d - g - f - b - c - a

      結(jié)果存在result里面,如果不存可以少一層變量

      這個(gè)地方強(qiáng)烈建議讀一下下面的第一個(gè)鏈接,我遵照著那篇文章實(shí)現(xiàn)的,只是用Go改寫了而已。

      首先定義一個(gè)數(shù)據(jù)結(jié)構(gòu),用來存儲(chǔ)一些Node的信息。

      這里是可以運(yùn)行的,但是總會(huì)拋出一個(gè)數(shù)組越界的錯(cuò)誤,我看了半天也沒看出來哪里有問題,Mac版的devel我這邊又有bug,沒用起來。至少思路對(duì)了,我后面再看一下哪里的問題。(感謝 @RiXu 指正)


      網(wǎng)頁題目:go語言遍歷教程 golang 字符串遍歷
      鏈接URL:http://www.ef60e0e.cn/article/hhsjsj.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>

        永年县| 弥渡县| 凌云县| 苏州市| 台江县| 谢通门县| 河曲县| 东光县| 梅河口市| 准格尔旗| 邻水| 开鲁县| 岳阳市| 连平县| 定安县| 万盛区| 枣庄市| 舒城县| 万荣县| 安乡县| 呼伦贝尔市| 灌南县| 阳原县| 新泰市| 阿尔山市| 万荣县| 新邵县| 班玛县| 鹤峰县| 五寨县| 景洪市| 商洛市| 山阳县| 化德县| 澄迈县| 化德县| 诸暨市| 婺源县| 育儿| 凉城县| 禄丰县|