Golang 筆記
  • Introduction
  • 安裝Golang
    • 本地編譯與安裝第三方套件
    • 第一個 GO 程式
    • export 與 import
    • 使用 go mod
  • 基本工具
  • DataBase操作
    • MySQL
    • 使用 ORM
    • MongoDB
  • 基本語法
    • Variable
    • BSON
    • JSON
    • 時間相關
    • Interface
    • Error
    • 型別
    • 字串
    • defer
    • panic, recover
    • Channel 與Goroutine
      • 讀寫鎖
      • for select 與 for range
      • UnBuffered channel 與 Buffered channel
    • Function
    • pointer
    • regExp
    • fmt
    • Make vs New
    • struct
    • Array, Slice 陣列
    • map
  • 核心模組
    • Reflect
    • File
    • Signal
    • BuiltIn
    • Sync
    • IO
    • Sort
    • http
    • crypto
    • context
  • 第三方模組
    • Dom Parser
    • gin 框架
    • Websocket
    • Iris框架
      • 讀取 Body 資料
      • 相關範例
    • Fiber 框架
    • 自動重啟 server 工具
    • go-jwt
  • 測試
  • 原始碼解析
  • 常見問題
    • 資料存取不正確
    • Data races
Powered by GitBook
On this page
  • 字串
  • 1.可用" " 或是 ` `
  • 2. ' ' 單引號只能用在byte array
  • 核心Strings package
  • 1.比較字串
  • 2.檢查是否包含
  • 3.轉為Unicode後比較是否包含
  • 4.計算字串中特定字之重複次數
  • 5.忽略大小寫比較
  • 6.字串轉Array
  • 7.替換特殊字元後比較
  • 8.測試開頭是否包含字串
  • 9.測試結尾是否包含
  • 10.查看字元在字串中的位置

Was this helpful?

  1. 基本語法

字串

Previous型別Nextdefer

Last updated 4 years ago

Was this helpful?

字串

1.可用" " 或是 ` `

var appleColor string = "red"
var appleColor1 string = `red`

``可用來放多行的字串,並且輸出會保留空格

用' '會錯誤

2. ' ' 單引號只能用在byte array

s := "good"
c := []byte(s)  // 轉為goog
c[3] = 'g'

用" "或` `會錯誤

核心Strings package

1.比較字串

可用== 或是 strings.Compare(a, b)

strings.Compare比 == 效率更好

結果是: 0 假如 a == b,

結果為 -1 假如 a < b

結果為 1 假如 a > b.

2.檢查是否包含

strings.Contains()

回傳true或false

也可用strings.ContainsAny("failure", "ura & i")

如果用&在contains() 還是會傳回false

3.轉為Unicode後比較是否包含

strings.ContainsRune()

4.計算字串中特定字之重複次數

strings.Count()

5.忽略大小寫比較

strings.EqualFold()

6.字串轉Array

strings.Fields("  foo bar  baz solid  ")

以空格分隔轉為Array

7.替換特殊字元後比較

FieldsFunc第二個參數必須要是function 並return boolean
    f := func(c rune) bool {
        return !unicode.IsLetter(c) && !unicode.IsNumber(c)
    }
    fmt.Printf("Fields are: %q", strings.FieldsFunc("  foo1; b@ar2,baz3...", f))

第二個參數例如strings.FieldsFunc("test", func (c rune) bool { return true })

8.測試開頭是否包含字串

strings.HasPrefix("Gopher", "Go")

9.測試結尾是否包含

fmt.Println(strings.HasSuffix("banana", "na"))

10.查看字元在字串中的位置

fmt.Println(strings.Index("paper", "e"))

https://play.golang.org/p/RnWuWLvDS1
https://play.golang.org/p/MMgk12HXFi
https://golang.org/pkg/strings/
https://play.golang.org/p/ia615JYprw
https://play.golang.org/p/lj78RhdBYq
https://play.golang.org/p/oeGdbA9juD
https://play.golang.org/p/0puOGCxAdR
https://play.golang.org/p/aoJnR5C5ux
https://play.golang.org/p/b1VgY3EazY
https://play.golang.org/p/bGsqjtSwMN
https://play.golang.org/p/oyvjtOykj_
https://play.golang.org/p/a_lfSRdz81
https://play.golang.org/p/haX84zOA-1