Go語言學習筆記之字符串一

2021-01-08 Ajian呀

No one can call back yesterday. Yesterday will not be called again.

Go語言是一個年輕人,身上擁有c++,java,python等語言的特點。在網絡通信、並發和並行編程擁有極好的體驗,當然不僅僅在這上上面,還有網絡編程,web應用,應用下載等有著非常大的潛力。這裡列舉一些 Go 語言的特點: 簡化問題,易於學習 內存管理,簡潔語法,易於使用 快速編譯,高效開發 高效執行 並發支持,輕鬆駕馭, 靜態類型 標準類庫,規範統一 易於部署 文檔全面 免費開源

學習go語言有幾天了,今天突然想到把學的寫成筆記,記錄一下。如有不正確的請指教。

package mainimport ("fmt" "strings" "unicode/utf8")func main() { //RuneCountInString 函數的使用 // count number of characters: fmt.Println("RuneCountInString函數的使用:") str1 := "asSASA ddd dsjkdsjs dk" fmt.Println("The number of bytes in string str1 is %d", len(str1)) fmt.Println("The number of characters in string str1 is %d", utf8.RuneCountInString(str1)) str2 := "asSASA ddd dsjkdsjsこん dk" fmt.Println("The number of bytes in string str2 is %d", len(str2)) fmt.Println("The number of characters in string str2 is %d", utf8.RuneCountInString(str2)) s := "hel" + "lo," s += "world!" fmt.Println(s) //輸出 「hello, world!」 str3 := "Beginning of the string " + "second part of the string" fmt.Println(str3) //HasPrefix 函數是判斷字符串前綴 fmt.Println("\nHasPrefix函數判斷字符串前綴:") var str string = "This is an example of a string" fmt.Println(str) fmt.Println( strings.HasPrefix(str, "Th")) //Contains 函數判斷字符串包含關係\ fmt.Println("\nContains函數判斷字符串包含關係:") str4 := "Ajian loves python and goland" fmt.Println(str4) fmt.Println(strings.Contains(str4,"jian")) //Index 函數是返回某字符在字符串的下標,在字符串裡面返回下標,否則-1(註:返回的是首次出現的下標) //LastIndex 函數是返回某個字符在字符串中最後出現的位置,否則返回-1 fmt.Println("\nIndex函數是返回某字符在字符串的下標,在字符串裡面返回下標,否則-1:") str5 := "You are cool." fmt.Println(str5) fmt.Println(strings.Index(str5,"o")) //1 fmt.Println(strings.Index(str5,"sb")) //-1 fmt.Println(strings.LastIndex(str5,"o")) //10 //Replace(s, old, new string, n int)s代表字符串,old指要被替換的字符,new string指要替換字符,n代表替換次數,n=-1時時把字符串裡面所有的替換了, //n=0不替換,n=1替換一次,..... fmt.Println("\nReplace函數:") str6 := "abcdefgbcuibcu6327881287abcdefg" fmt.Println(str6) str7 := strings.Replace(str6,"abcdefg","ABCD",-1) fmt.Println(str7) //Count 函數用於統計字符串中某字符出現次數 fmt.Println("\nCount函數:") str8 := "Ajian,Ajian" fmt.Println(str8) count := strings.Count(str8,"a") fmt.Println(count) //Repeat 重複字符串,Repeat(s string, count int):s代表字符串,count是次數,不能是複數 fmt.Println("Repeat函數:") str9 := "Ajian" fmt.Println(str9) fmt.Println(strings.Repeat(str9,9)) //ToLower 是將字符串中所有大寫變小寫,ToUpper是將字符串中所有小寫變成大寫 fmt.Println("\nToLower函數與ToUpper函數") str10 := "Hey,how are you?" fmt.Println(str10) fmt.Println(strings.ToLower(str10)) fmt.Println(strings.ToUpper(str10)) //TrimSpace 去除字符串兩邊空白,Trim將字符串s中首尾包含的任一字符去掉,TrimLeft剔除開頭 fmt.Println("\nTrimSpace,Trim,TrimLeft與TrimRight函數:") str11 := " !!!Ajian is cool!!! " fmt.Println(str11) fmt.Println(strings.TrimSpace(str11)) fmt.Println(strings.Trim(str11," ")) fmt.Println(strings.TrimLeft(str11," !")) fmt.Println(strings.TrimRight(str11,"! ")) //Fields 利用空白作為分隔符將字符串分割為若干塊,並返回一個 slice 。如果字符串只包含空白符號,返回一個長度為 0 的 slice 。 //Split 自定義分割符號對字符串分割,返回 slice fmt.Println("Fields函數與Split函數:") str13 := "1 2 3 4 5 6 7 8 9 0" fmt.Println(str13) fmt.Println(strings.Fields(str13)) fmt.Println(strings.Split(str13," ")) //Join 用於將元素類型為 string 的 slice 使用分割符號來拼接組成一個字符串 fmt.Println("\nJoin函數:") str14 := []string{"Ajian","is","learning","goland."} fmt.Println(str14) fmt.Println(strings.Join(str14," "))}

這是今天的go語言學習記錄,前面的有空就會補上。

如果喜歡爬蟲的可以關注我的公眾號(spiders),想學go的也可以,我們一起進步。

可能跟我一樣是一名大學生的人有很多,可能我們都不是計算機專業,但我們都有一顆學計算機的心,在今天這個時代,時代在不斷進步,我們也得要不斷武裝自己,讓自己的武器多一些,那麼面對未來就多了些作戰武器,或許我們的大學並不是多麼好,但大學並非是我們的終點,在我看來才是我們真正的起點,我們真正擁有了自己的時間,這時我們應該學會合理分配,自律自覺。成功永遠是給有準備的人的。

相關焦點

  • Go語言的學習筆記(第二章)
    字符串變量的默認值為空字符串。布爾型變量默認為false。切片、函數、指針變量的默認為nil。當然我們也可在聲明變量的時候為其指定初始值。Go語言中有豐富的數據類型,除了基本的整型、浮點型、布爾型、字符串外,還有數組、切片、結構體、函數、map、通道(channel)等。
  • 深入剖析go中字符串的編碼問題——特殊字符的string怎麼轉byte?
    go中的字符串是utf8編碼的根據golang官方博客https://blog.golang.org/strings的原文:Go source code isalways UTF-8.翻譯整理過來其實也就是兩點:go中的代碼總是用utf8編碼,並且字符串能夠存儲任何字節。沒有經過字節級別的轉義,那麼字符串是一個標準的utf8序列。
  • go 學習筆記之學習函數式編程前不要忘了函數基礎
    生物學家會下意識對動植物進行分類歸納,面向對象編程也是如此,用一系列的抽象模型去模擬現實世界的行為規律.所以接下來我們一邊複習一邊學習函數的基本特點,為接下來理解函數式編程打下基礎,關於函數的基礎語言可參考 go 學習筆記之值得特別關注的基礎語法有哪些函數的基礎語法和高級特性下面以最基本四則運算為例,貫穿全文講解函數的基本語法和高級特性
  • 在C語言中如何高效地複製和連接字符串?
    就目前而言,在編程領域中,C語言的運用非常之多,它兼顧了高級語言的彙編語言的優點,相較於其它程式語言具有較大優勢。作者 | Martin Sebor譯者 | 蘇本如,責編 | 劉靜以下為譯文:在所有標準C語言<string.h>頭文件中聲明的字符串處理函數中,最常用的是那些用來複製和連接字符串的函數。
  • Python中去除字符串首尾空格、特殊字符和指定子字符串的方法
    ,關注我,一同學習簡單易懂的Python編程。第七十七節:去除字符串中的空格和特殊字符字符串在實際應用中,有很多情況是默認去除字符串首尾的空格狀態,去除幾個比較特殊的字符的。這幾個特殊的字符是:換行符「\n」、回車符「\r」、制表符「\t」。
  • 10個很棒的 JavaScript 字符串技巧
    我們稱一個字符序列為字符串。這幾乎是所有程式語言中都有的基本類型之一。這裡跟大家展示關於 JS 字符串的10個很棒的技巧,你可能還不知道哦?1.如何多次複製一個字符串JS 字符串允許簡單的重複,與純手工複製字符串不同,我們可以使用字符串的repeat方法。2. 如何填充一個字符串到指定的長度有時,我們希望字符串具有特定長度。
  • 第四篇:C語言中指針與字符串核心知識點梳理
    C語言的基本數據類型中有一個char的關鍵詞,可以存儲單個的字符。那麼,像漢字以及由多個字符組成的內容,又該如何存儲呢?這點將涉及到本文第二個核心知識點:字符串及其常規操作。重點包括:字符串處理函數、指針與字符串的關係等。
  • C語言編程技巧:跟我學如何定義及使用一個字符串數組
    實現目的我們在用C語言編寫程序時,經常會遇到使用字符串數組的情況,這種數組的特點是, 數組中的每個元素都是一個字符串,但每個字符串的長度卻不相同。如果你使用C++語言進行編程的話,實現起來相對比較簡單,只需直接選擇標準模板庫的字符串string類,在代碼中定義該類的一個數組即可實現。現在的問題是,在純C語言中如何定義這樣的一個字符串數組呢?如對於下面的一個字符串數組:str = {「I love C.」,「I love C++.」,「I love JAVA.」
  • Python基礎教程(一) - 序列:字符串、列表和元組
    這一章我們主要研究這樣一些類型,他們的成員是有序排列的,並且可以通過下標偏移量訪問的,這類Python類型統稱為序列,包括字符串、列表和元組。字符串字符串類型是Python裡面最常見的類型。可以簡單的通過在引號間包含字符的方式創建它,單引號和雙引號是相同的。下面來寫一些例子來展示下如何訪問字符串的值、如何改變和刪除字符串。
  • Python中字符串編碼在二進位之間相互轉換的方法
    ,關注我,一同學習簡單易懂的Python編程。第八十節:字符串編碼轉換在學習「計算字符串的長度」(詳見第72節內容Python中如何計算字符串的長度),對編碼的概念、分類和作用,做過一個簡單的介紹,今天的內容,還是從「編碼」開始談。
  • LABVIEW編程之時間標識轉換為字符串
    在定時函數選板中,LABVIEW提供了許多的時間類相關函數,包括時間、日期轉換為字符串函數,實際上格式化寫入字符串函數完全支持時間標識,其轉換功能更多、更全面。與數值轉換為字符串類似,時間標識轉換為字符串的關鍵也是格式化字符串,LABVIEW提供了許多專門的時間相關的時間格式代碼,這些格式符不僅僅可以用來轉化為字符串,同時也可以時間標識控制項進行特色顯示,以下的例程中將同時利用字符串和時間標識顯示控制項顯示我們需要的時間日期。
  • 解密 Go 語言之反射 reflect
    今天是 2020 年的最後一天,讓我們一起繼續愉快的學習吧 :)。在所有的語言中,反射這一功能基本屬於必不可少的模塊。雖說 「反射」 這個詞讓人根深蒂固,但更多的還是 WHY。反射到底是什麼,反射又是基於什麼法則實現的?
  • JavaScript字符串-概念
    字符串的概念 概念: 在JavaScript中將所有單引號或雙引號括起來的都叫做字符串 object對象有屬性和函數,對象具體的概念後面會再跟大家講 2.省略new運算符創建 運行效果如下,同樣是字符串類型
  • 按任意符號間隔拆分字符串的函數
    大家好,我們今日講解「VBA信息獲取與處理」教程中第十四個專題「Split函數提取數據信息的深入講解」的第二節「按任意符號間隔拆分字符串的函數」,這個專題是非常實用的知識點,希望大家能掌握利用。第二節 按任意符號間隔拆分字符串的函數在上一講中,我們講解了Split函數的基本應用,但我們很快會發現,這個函數在利用起來有一定的局限性,只能按某個字符串進行拆分,在實際的應用中,如果我們要按多個字符串進行拆分,這個函數就無能為力了,怎麼辦?我們可以擴展一下這個函數的功能。
  • 在JavaScript字符串的search()方法中,如何匹配正則表達式?
    第一節:基本概念#JavaScript#正則表達式已經成為各大程式語言的標準,只是在不同的語言中,所使用的方式有所不同,但基本上核心的功能都是一樣的。正則表達式的核心功能是建立一種匹配模式,這個匹配模式可以理解為模板,模子。然後再拿具體的字符串來與這個模式進行匹配,如果匹配上,則表示符合要求,則進一步採用措施。
  • JavaScript字符串 - 查找方法
    字符串查找的方法子字符串代表的就是要查找的字符串1.indexOf();格式:字符串.indexOf( 子字符串串,開始查找的位置 );返回值:如果在字符串中查找到了子字符串第一次出現的位置,返回子字符串出現的位置,否則沒有查找到返回 -
  • MySQL字符串截取 和 截取字符進行查詢
    通過mysql自帶的一些字符串截取函數,對數據進行處理,下面是我整理的字符串截取 和 截取字符進行查詢。一、MySQL中字符串的截取MySQL中有專門的字符串截取函數:其中常用的有兩種:substring_index(str,delim,count) 和concat 1.substring_index(str,delim,count) 函數的使用較為普遍。
  • 漫畫:什麼是字符串匹配算法?
    讓我們來舉一個例子:在上圖中,字符串B是A的子串,B第一次在A中出現的位置下標是2(字符串的首位下標是0),所以返回 2。我們再看另一個例子:在上圖中,字符串B在A中並不存在,所以返回 -1。為了統一概念,在後文中,我們把字符串A稱為主串,把字符串B稱為模式串。
  • pandas向量化字符串操作方法!
    作者:小伍哥 來源:AI入門學習python內置一系列強大的字符串處理方法,但這些方法只能處理單個字符串,處理一個序列的字符串時,需要用到循環。那麼,有沒有辦法,不用循環就能同時處理多個字符串呢,pandas的向量化操作就提供了這樣的方法。
  • Python正則表達式:特殊符號和字符
    簡而言之,正則表達式(簡稱regex)是由一些字符和特殊符號組成的字符串,它描述了模式的重複或者表達多個字符。python通過標準庫中的re模塊來支持正則表達式。下圖是最常見的特殊符號和字符,也稱元字符,正是它給予正則表達式強大的功能和靈活性。1.擇一匹配符號表示擇一匹配的管道符號(|),鍵盤上的豎線,表示從多個模式中選擇其中一個的操作。