Golang 入门笔记(二)下
目錄
文章目錄
- 目錄
- 修改字符串
- 連接字符串
- 格式化
- 格式表
- BASE64編碼
- 常量
- 枚舉--一組常量值
- 類型別名與類型定義
- 非本地類型不能定義方法
- 在結(jié)構(gòu)體成員嵌入時(shí)使用別名
緊接上文
修改字符串
Go 語(yǔ)言的字符串是不可變的
修改字符串時(shí)可以將字符串轉(zhuǎn)變?yōu)椤尽縝yte進(jìn)行修改
【】byte和string可以通過(guò)強(qiáng)制類型轉(zhuǎn)換互轉(zhuǎn)。
連接字符串
+號(hào)可以直接連接
但使用 bytes.Buffer更快
h:=“aa”
b:=“cc”
var stb bytes.Buffer
stb.WriteString(h)
stb.WriteString(b)
c:=stb.String()
格式化
fmt.Sprintf(格式化樣式,參數(shù)列表…)
格式化樣式:字符串樣式,格式化動(dòng)詞以%開頭
參數(shù)列表:多個(gè)參數(shù)以逗號(hào)分隔,個(gè)數(shù)與格式化相對(duì)應(yīng)
var progress=2
fmt.Sprintf(“ss %d”,progress)
格式表
BASE64編碼
package mainimport ("encoding/base64""fmt" )func main() {//需要處理的字符串message := ".https//golang.org/"//編碼信息encodedMessage := base64.StdEncoding.EncodeToString([]byte(message))//輸出編碼完成的信息fmt.Println(encodedMessage)//解碼消息data, err := base64.StdEncoding.DecodeString(encodedMessage)//出錯(cuò)處理if err != nil {fmt.Println(err)} else {//打印解碼完成的數(shù)據(jù)fmt.Println(string(data))}}常量
在計(jì)算機(jī)運(yùn)行過(guò)程中恒定不變的值
const size =4 var array [size]int枚舉–一組常量值
使用 iota自增變量來(lái)是實(shí)現(xiàn)枚舉
類型別名與類型定義
類型別名:
type tac=int類型定義:
type newint int類型別名編譯運(yùn)行后消失,類型定義編譯運(yùn)行后依舊存在,debug需要你深入到定義的文件去看具體內(nèi)容。
非本地類型不能定義方法
非本地包,比如你在mian包中引用了fmt包里的類型,給它起了一個(gè)新類型,你不能在這個(gè)文件里
func (x ss) es(a string){}
只能在自己文件里定義方法。
解決方案是:
使用類型定義 而不是=號(hào)的類型別名
或者在它自己的包里給它別名再操作。
在結(jié)構(gòu)體成員嵌入時(shí)使用別名
容易出錯(cuò),建議別用。
總結(jié)
以上是生活随笔為你收集整理的Golang 入门笔记(二)下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 注册表改win 7更新服务器,Win7
- 下一篇: Android横向滚动卡片,Androi