string是Go語言中的基礎數據類型。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站建設、成都做網站、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的寧德網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
聲明string變量非常簡單,常見的方式有以下兩種:
聲明一個空字符串后再賦值。
var s string。
s = "hello world"。
需要注意的是空字符只是長度為0,但不是nil。不存在值為nil的string。
使用簡短變量聲明:
s := "hello world" //直接初始化字符串。
雙引號與單引號。
字符串不僅可以使用雙引號賦值,也可以使用反單引號賦值,它們的區(qū)別是在于對特殊字符的處理。
假如我們希望string變量表示下面的字符串,它包括換行符和雙引號:
Hi。
this is "Steven"。
1。
2。
使用雙引號表示時,需要對特殊字符轉義,如下所示:
s:= "Hi, \nthis is \"Steven\"."。
1。
如果使用反單引號時,不需要對特殊符號轉義,如下所示:
s := Hi。
this is "Steven"。
需要注意的是,字符串拼接會觸發(fā)內存分配以及內存拷貝,單行語句拼接多個字符串只分配一次內存。比如上面的語句中,在拼接時,會先計算最終字符串的長度后再分配內存。
類型轉換:
項目中,數據經常需要在string和字節(jié)[]byte之間轉換。
這是引入類型失敗的錯誤提示,
import org.wltea ,說明你引入了某個jar 包或者類,但是沒有找到 ,就報錯了.IK analyzer 中文分詞器 開源的項目 ,有源碼的.把這個下載好就可以了。
1、基本數據類型
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for int8
rune // alias for int32,represents a Unicode code point
float32 float64
complex64 complex128
常量定義
2、類型轉換
(1)Go語言不允許隱式類型轉換(不支持小位數類型向大位數類型轉)
(2)別名和原有類型也不能進行隱式類型轉換(type MyInt int64 = int64)
3、類型的預定義值
1.math.MaxInt64
2.math.MaxFloat64
3.math.MaxUInt32
4、指針類型
(1)不支持指針運算
(2)string是值類型,其默認的初始化值為空字符串,而不是nil
5、算術運算符
+ - * / % ++ --(不支持前置++ --)
6、比較運算符
#== != = =
(1)比較數組
相同維數且含有形同個數元素的數組才可以比較
每個元素都相同的才相等
7、位運算符
| ^
^ (按位置零) a (^b)
1 ^ 0 1
1 ^ 1 0
0 ^ 1 0
0 ^ 0 0
8、條件與循環(huán)
(1)循環(huán)
Go 語?僅?持循環(huán)關鍵字 for
(2)條件
9、數組和切片
數組截取,索引下標從0開始計數
a[開始索引(包含), 結束索引(不包含)]
a := [...]int{1, 2, 3, 4, 5}
a[1:2] //2
a[1:3] //2,3
a[1:len(a)] //2,3,4,5
a[1:] //2,3,4,5
a[:3] //1,2,3
切片內部結構
9、Map
9、字符串
Unicode UTF8
常?字符串函數
json格式可以算我們日常最常用的序列化格式之一了,Go語言作為一個由Google開發(fā),號稱互聯(lián)網的C語言的語言,自然也對JSON格式支持很好。官方提供的Json解析包已經非常強大,我們接下來講解Json的序列化與反序列化操作。另外還有一些第三方的Json解析庫,也能夠高效的操作Json對象,比如simplejson,ffjson等。下面是兩個比較重要的函數:
? Json Marshal:將數據編碼成json字符串
Marshal 用于將struct對象序列化到json對象中。v是interface{}類型,任何類型都實現(xiàn)了空接口。
1:tag中的第一個參數是用來指定別名,比如Name 指定別名為 username `json:"username"`
2:如果不想指定別名但是想指定其他參數用逗號來分隔,omitempty 指定到一個field時,如果在賦值時對該屬性未賦值或者對該屬性賦值為 zero value,那么將Person序列化成json時會忽略該字段
3:- 指定到一個field時,無論有沒有值,將Person序列化成json時都會忽略該字段
4:string 指定到一個field時,比如Person中的Count為int類型 如果沒有任何指定在序列化到json之后也是int 比如這個樣子 “Count”:0,但是如果指定了string之后序列化之后也是string類型的,那么就是這個樣子"Count":"0"
? struct序列化為Json
? slice序列化為Json
? map 序列化為Json
? Json Unmarshal:將json字符串解碼到相應的數據結構,Unmarshal的第一個參數是[]byte,第二個參數是接受json解析的數據結構。
下面我們依次講解Json的操作。
1:將Json序列化進入結構體
2::將Json序列化到結構體slice
3:將Json序列化進Map
4:將Json序列化進Slice
分享文章:go語言字符串為空 go判斷字符串是否為空
當前路徑:http://jinyejixie.com/article6/hpcsig.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、網頁設計公司、做網站、網站策劃、網站排名、靜態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)