原生方法,直接使用slice切片實現,但此方法對於包括中文字元就擷取錯誤
s:="abcde"
fmt.println(s[0:2]);
//輸出
//ab
//包含中文的字串
s2 := "我是中國人"
fmt.println(s2[0:2])
//輸出
// ��
//有亂碼呀
第二種方法呢,自己實現,如下是我實現的幾種方法,最主要還是通過rune
來實現的
//獲取source的子串,如果start小於0或者end大於source長度則返回""
//start:開始index,從0開始,包括0
//end:結束index,以end結束,但不包括end
func substring(source string, start int, end int) string
if start == 0 && end == length
return string(r[start : end])
}
第二種方法呢,自己實現,如下是我實現的幾種方法,最主要還是通過rune
來實現的
//獲取source的子串,如果start小於0或者end大於source長度則返回""
//start:開始index,從0開始,包括0
//end:結束index,以end結束,但不包括end
func substring(source string, start int, end int) string
if start == 0 && end == length
if start == end
var substring = ""
for i := 0; i < length; i++
if i >= end
substring += string(r[i])
} return substring
}
//方法二:
func substring(source string, start int, end int) string
if pos >= end
pos++
substring += string(c)
} return substring
}
//方法三
func substring(source string, start int, end int) string
if start == 0 && end == length
var substring = ""
for i := start; i < length; i++
return substring
}s := "1人民幣哈哈只"
fmt.printf("%s\n", substring(s, 1, 7))
//輸出
//人民幣哈哈只
golang substring方法的幾種實現
s abcde fmt.println s 0 2 輸出 ab 包含中文的字串 s2 我是中國人 fmt.println s2 0 2 輸出 有亂碼呀 獲取source的子串,如果start小於0或者end大於source長度則返回 start 開始index,從0開始,包括0 end 結束inde...
jacobi,seidel,sor方法的c 實現
沒有進行收斂性判斷,只是演算法的單純求解 include include include using namespace std const int n 4 檔案的行列數 陣列求max double max array double err n return max 分離矩陣確定d void arr...
設計模式之(Singleton)模式的幾種實現
這種實現方法,優點是實現簡單,缺點是在多執行緒頻繁訪問下效率比較低,經常出現鎖競爭。適應於不需要頻繁訪問例項的情況下。class singleton private singleton singleton const singleton singleton operator const single...