本文目錄一覽:
golang 把中文轉換為首字母的方法
Go語言的string模塊包含了ToLower和ToUpper函數,用於將字元串轉換成小寫和大寫
代碼如下:
package main
import (
“fmt”
“strings”
)
func main() {
fmt.Println(strings.ToUpper(“hello world”))
}
如何將任意Golang介面轉換為位元組數組
golang語言本身就是c的工具集,開發c的程序用到的大部分結構體,內存管理,攜程等,golang基本都有,他只是在這個基礎上又加了一些概念這裡說一個很小的問題,就是位元組數組轉string的問題,網上大部分都是這樣轉的(包括google上):string(p[:]),這個轉完了是有問題的,我們再來看一下string這個結構體:
struct String
{
byte* str;
intgo len;
};
這個結構體讓我想起了nginx的string,他是這樣定義的:
typedef struct {
size_t len;
u_char *data;
} ngx_str_t;
golang裡邊 string的概念其實不是以前遇到\0結尾的概念了,他其實就是一塊連續的內存,首地址+長度,上面那樣賦值,如果p裡邊有\0,他不會做處理這個時候,如果再對這個string做其他處理就可能出問題了,比如strconv.Atoi轉成int就有錯誤,解決辦法就是需要自己寫一個正規的轉換函數:
func byteString(p []byte) string {
for i := 0; i len(p); i++ {
if p[i] == 0 {
return string(p[0:i])
}
}
return string(p)
}
這樣就不會出問題了
Golang常用包有哪些
⑴ Go Kit
它本身不是一個框架,而是一套微服務工具集,可以用於解決分散式系統開發中的大多數常見問題,所以使用者可以專註於你的業務邏輯中。
⑵ Gingko
是一個Go測試框架,目的是幫助我們使用行為驅動開發風格高效地編寫富有表現力和全面的測試,它有著非常良好的幫助文檔,任何人都可以輕鬆地在項目中集成使用它。
⑶ NSQ
實時分散式消息傳遞平台,提供高可用性和可靠的消息傳遞保證,可以水平擴展,支持負載均衡,安裝部署非常方便。
⑷ Goose
Golang中最佳的資料庫遷移包,通過創建增量SQL更改和Go函數來管理資料庫結構,在Go1.16版本以上,還支持了嵌入式sql遷移。
⑸ GORM
是一個功能齊全的Golang對象關係映射庫,是一種開發人員友好的工具,用於在不兼容的類型系統之間轉換數據,專門設計用於在類型系統之間切換時最大限度地減少重寫代碼。
⑹ Authboss
一個模塊化的身份驗證包,使用它你可以快速地在項目中進行身份驗證管理。它有幾個常見的身份驗證和授權模塊供開發人員選擇。
⑺ cli
是一個簡單快捷的命令行管理包,用於為Go語言構建命令行應用程序,允許開發人員開發自己的富有表現力的命令行應用程序,用於創建標誌、bash完成常式並生成幫助文本。
⑻ Vegeta
是一個用於HTTP負載測試的工具包,這個多功能工具專為測試具有恆定請求率的HTTP服務而設計。它可以有效地分析程序中的潛在問題,是一個始終貫穿以提高整體性能為目的的包。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200312.html