最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Go中格式化字符串的幾種常用方法

 更新時(shí)間:2023年10月25日 11:06:00   作者:CHQIUU  
Go對(duì)字符串格式化提供了良好的支持,這篇文章主要給大家介紹了關(guān)于在Go中格式化字符串的幾種常用方法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Go具有一定的參考價(jià)值,需要的朋友可以參考下

前言

由于字符串通常由書(shū)面文本組成,在很多情況下,我們可能希望通過(guò)標(biāo)點(diǎn)符號(hào)、換行和縮進(jìn)來(lái)更好地控制字符串的外觀,以使其更易于閱讀。

在本教程中,我們將介紹一些處理go字符串的方法,以確保所有輸出文本的格式正確。

字符串字面量

讓我們首先區(qū)分字符串字面量字符串值。字符串字面量就是我們?cè)谟?jì)算機(jī)程序的源代碼中看到的,包括引號(hào)。當(dāng)我們調(diào)用fmt.Println函數(shù)并運(yùn)行程序時(shí),我們看到的是一個(gè)字符串。

在“Hello, World!”程序中,字符串字面量是"Hello, World!",而字符串值是 Hello, World!,沒(méi)有引號(hào)。這個(gè)字符串值就是我們運(yùn)行Go程序時(shí)在終端窗口中看到的輸出。

但是有些字符串值可能需要包含引號(hào),比如我們引用一個(gè)源時(shí)。因?yàn)樽址置媪亢妥址挡⒉幌嗟龋酝ǔS斜匾獮樽址置媪刻砑宇~外的格式,以確保字符串值按我們想要的方式顯示。

引號(hào)

因?yàn)槲覀兛梢栽贕o中使用反引號(hào)(`)或雙引號(hào)("),通過(guò)在由反引號(hào)括起來(lái)的字符串中使用雙引號(hào),可以很簡(jiǎn)單地在字符串中嵌入引號(hào):

`Sammy says, "Hello!"`

或者,要使用后引號(hào),可以將字符串括在雙引號(hào)中:

"Sammy likes the `fmt` package for formatting strings.."

通過(guò)使用反引號(hào)和雙引號(hào),我們可以控制字符串中引號(hào)和反引號(hào)的顯示。

重要的是要記住,在Go中使用反引號(hào)會(huì)創(chuàng)建一個(gè)raw字符串字面量,而使用雙引號(hào)會(huì)創(chuàng)建一個(gè)interpret 字符串字面量。

轉(zhuǎn)義字符

另一種格式化字符串的方法是使用轉(zhuǎn)義字符。轉(zhuǎn)義字符用于告訴代碼下面的字符具有特殊的含義。轉(zhuǎn)義字符都以反斜杠鍵(\)和字符串中的另一個(gè)字符開(kāi)始,以某種方式格式化給定的字符串。

下面列出了一些常見(jiàn)的轉(zhuǎn)義字符:

轉(zhuǎn)義字符它如何格式化
|反斜線
"雙引號(hào)
\n換行符
\tTab(水平縮進(jìn))

讓我們使用轉(zhuǎn)義字符將引號(hào)添加到上面的引號(hào)示例中,但這一次我們將使用雙引號(hào)來(lái)表示字符串:

fmt.Println("Sammy says, \"Hello!\"")

OutputSammy says, "Hello!"

通過(guò)使用轉(zhuǎn)義字符\",我們可以使用雙引號(hào)將包含在雙引號(hào)中文本的字符串括起來(lái)。

我們可以使用 \n 轉(zhuǎn)義字符來(lái)?yè)Q行,而無(wú)需鍵入回車(chē)鍵或回車(chē)鍵:

fmt.Println("This string\nspans multiple\nlines.")

OutputThis string
spans multiple
lines.

我們也可以組合轉(zhuǎn)義字符。下面來(lái)打印一個(gè)多行字符串,并包含分項(xiàng)列表的制表符間距,例如:

fmt.Println("1.\tShark\n2.\tShrimp\n10.\tSquid")

Output1.      Shark
2.      Shrimp
10.     Squid

在前面的例子中,\t轉(zhuǎn)義字符提供的水平縮進(jìn)確保了在第二列內(nèi)對(duì)齊,使輸出非常易讀。

轉(zhuǎn)義字符用于為字符串添加額外的格式,這些格式可能很難或不可能實(shí)現(xiàn)。如果沒(méi)有轉(zhuǎn)義字符,你將無(wú)法構(gòu)造字符串Sammy says, "I like to use the `fmt` package"。

多行

將字符串打印成多行可以提高文本的可讀性。對(duì)于多行,字符串可以組合成干凈有序的文本,格式化為字母,或用于保持詩(shī)歌或歌曲歌詞的換行。

要?jiǎng)?chuàng)建跨多行的字符串,需要使用反引號(hào)將字符串括起來(lái)。請(qǐng)記住,雖然這將保留行返回,但它也創(chuàng)建了一個(gè)raw字符串字面量。

`
This string is on 
multiple lines
within three single 
quotes on either side.
`
Output
This string is on 
multiple lines
within three single 
quotes on either side.

為了避免這種情況,你需要將第一行放在后引號(hào)的后面,并以后引號(hào)結(jié)束最后一行。

`This string is on 
multiple lines
within three single 
quotes on either side.`

如果你需要?jiǎng)?chuàng)建一個(gè)解釋過(guò)的字符串字面量,可以使用雙引號(hào)和+操作符,但你需要插入自己的換行符。

"This string is on\n" +
"multiple lines\n" +
"within three single\n" +
"quotes on either side."

雖然反引號(hào)可以使長(zhǎng)文本更容易打印和閱讀,但如果你需要一個(gè)經(jīng)過(guò)解釋的字符串字面量,就需要使用雙引號(hào)。

原始字符串字面量

如果我們不希望字符串具有特殊的格式,該怎么辦?例如,我們可能需要比較或計(jì)算有意使用反斜杠的計(jì)算機(jī)代碼字符串,因此我們不希望將它用作轉(zhuǎn)義字符。

原始字符串字面量告訴Go忽略字符串中的所有格式,包括轉(zhuǎn)義字符。

我們使用反引號(hào)來(lái)創(chuàng)建一個(gè)原始字符串:

fmt.Println(`Sammy says,\"The balloon\'s color is red.\"`)
OutputSammy says,\"The balloon\'s color is red.\"

通過(guò)在給定字符串的兩邊使用反引號(hào)來(lái)構(gòu)造原始字符串,我們可以保留反斜杠和其他用作轉(zhuǎn)義字符的字符。

總結(jié)

本教程介紹了在Go中格式化文本的幾種方法。通過(guò)使用轉(zhuǎn)義字符或原始字符串等技術(shù),我們能夠確保程序的字符串在屏幕上正確呈現(xiàn),以便最終用戶能夠輕松地閱讀所有輸出的文本。

相關(guān)文章

  • Go語(yǔ)言HTTP請(qǐng)求流式寫(xiě)入body的示例代碼

    Go語(yǔ)言HTTP請(qǐng)求流式寫(xiě)入body的示例代碼

    這篇文章主要介紹了Go語(yǔ)言HTTP請(qǐng)求流式寫(xiě)入body,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 解決Golang time.Parse和time.Format的時(shí)區(qū)問(wèn)題

    解決Golang time.Parse和time.Format的時(shí)區(qū)問(wèn)題

    這篇文章主要介紹了解決Golang time.Parse和time.Format的時(shí)區(qū)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • GO開(kāi)發(fā)編輯器安裝圖文詳解

    GO開(kāi)發(fā)編輯器安裝圖文詳解

    這篇文章主要介紹了GO開(kāi)發(fā)編輯器安裝,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 深入理解Go中的項(xiàng)目代碼布局

    深入理解Go中的項(xiàng)目代碼布局

    Go?語(yǔ)言的創(chuàng)世項(xiàng)目其實(shí)就是?Go?語(yǔ)言項(xiàng)目自身,是全世界第一個(gè)?Go?語(yǔ)言項(xiàng)目,本文主要來(lái)和大家詳細(xì)介紹一下Go中的項(xiàng)目代碼布局,需要的可以了解下
    2023-11-11
  • go值賦值和引用賦值的使用

    go值賦值和引用賦值的使用

    本文將介紹Go語(yǔ)言中的值賦值和引用賦值,并比較它們之間的差異,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • golang防止內(nèi)存逃逸的方法小結(jié)

    golang防止內(nèi)存逃逸的方法小結(jié)

    在Go語(yǔ)言中,內(nèi)存逃逸是指在函數(shù)中分配的變量在函數(shù)結(jié)束后仍然被引用,防止內(nèi)存逃逸有助于提高程序的性能,因?yàn)闂I戏峙涞膬?nèi)存可以更快地被回收,本文給大家總結(jié)了一些防止內(nèi)存逃逸的方法,需要的朋友可以參考下
    2024-02-02
  • 詳解Golang中零拷貝的原理以及實(shí)踐

    詳解Golang中零拷貝的原理以及實(shí)踐

    零拷貝技術(shù)相信大家都有所耳聞,但是本文不僅會(huì)講述零拷貝技術(shù)的原理,并將從實(shí)際代碼出發(fā),看看零拷貝技術(shù)在golang中的應(yīng)用,現(xiàn)在讓我們開(kāi)始吧
    2023-07-07
  • go語(yǔ)言接口之接口值舉例詳解

    go語(yǔ)言接口之接口值舉例詳解

    接口是一種抽象類(lèi)型,是對(duì)其他類(lèi)型行為的概括與抽象,從語(yǔ)法角度來(lái)看,接口是一組方法定義的集合,下面這篇文章主要給大家介紹了關(guān)于go語(yǔ)言接口之接口值的相關(guān)資料,文章通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 使用go語(yǔ)言解析xml的實(shí)現(xiàn)方法(必看篇)

    使用go語(yǔ)言解析xml的實(shí)現(xiàn)方法(必看篇)

    下面小編就為大家?guī)?lái)一篇使用go語(yǔ)言解析xml的實(shí)現(xiàn)方法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Go秒爬博客園100頁(yè)新聞

    Go秒爬博客園100頁(yè)新聞

    利用go語(yǔ)言的協(xié)程并發(fā)優(yōu)勢(shì)爬取網(wǎng)頁(yè)速度相當(dāng)之快,博客園100頁(yè)新聞標(biāo)題只需一秒即可全部爬取,跟著小編一起去看看如何實(shí)現(xiàn)的,希望大家可以從中受益
    2018-09-09

最新評(píng)論

巴楚县| 奉化市| 日喀则市| 凌源市| 陈巴尔虎旗| 伽师县| 泊头市| 沧州市| 普安县| 望谟县| 宁阳县| 宁津县| 资溪县| 江华| 金川县| 乳山市| 阿克陶县| 荥经县| 正镶白旗| 墨脱县| 巴林右旗| 谢通门县| 宜春市| 博乐市| 遂昌县| 萨迦县| 缙云县| 井研县| 桃园市| 南川市| 临洮县| 镇赉县| 邻水| 鹿泉市| 黄山市| 海原县| 黎城县| 嘉兴市| 博爱县| 井陉县| 武强县|