重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
將字符串轉(zhuǎn)換為byte步驟如下:
網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
1、文件——新建——項(xiàng)目。
2、選擇為:控制臺(tái)應(yīng)用程序。
3、確定后系統(tǒng)生成的代碼。
4、測(cè)試1代碼: 把字符串轉(zhuǎn)換成byte數(shù)組。
5、測(cè)試1結(jié)果字符串轉(zhuǎn)換成byte數(shù)組成功。
6、測(cè)試2代碼:把一個(gè)byte數(shù)組轉(zhuǎn)換為一個(gè)字符串。
7、測(cè)試2結(jié)果byte數(shù)組成字符串成功。
1、string到int
2、string到int64
3、string到int32
4、字符串 轉(zhuǎn) uint64
1、int到string
2、int64到string
3、uint64 轉(zhuǎn) 字符串
uint8,int8,uint16,int16,uint32,int32,float32,uint64,int64,float64
1、int64與uint64
2、int64轉(zhuǎn)float64
1、string 轉(zhuǎn)為[]byte
2、byte轉(zhuǎn)為string
func BytesToString(bs []byte) string {
l := len(bs)
buf := make([]string, 0, l)
for i := 0; i l; i++ {
buf = appendString(buf, bs[i])
}
return strings.Join(buf, dot)
}
func appendString(bs []string, b byte) []string {
var a byte
var s int
for i := 0; i 8; i++ {
a = b
b = 1
b = 1
switch a {
case b:
s += 0
default:
temp := 1
for j := 0; j 7 - i; j++ {
temp = temp*2
}
s += temp
}
b = 1
}
return append(bs, strconv.Itoa(s))
}
golang語(yǔ)言本身就是c的工具集,開發(fā)c的程序用到的大部分結(jié)構(gòu)體,內(nèi)存管理,攜程等,golang基本都有,他只是在這個(gè)基礎(chǔ)上又加了一些概念這里說(shuō)一個(gè)很小的問(wèn)題,就是字節(jié)數(shù)組轉(zhuǎn)string的問(wèn)題,網(wǎng)上大部分都是這樣轉(zhuǎn)的(包括google上):string(p[:]),這個(gè)轉(zhuǎn)完了是有問(wèn)題的,我們?cè)賮?lái)看一下string這個(gè)結(jié)構(gòu)體:
struct String
{
byte* str;
intgo len;
};
這個(gè)結(jié)構(gòu)體讓我想起了nginx的string,他是這樣定義的:
typedef struct {
size_t len;
u_char *data;
} ngx_str_t;
golang里邊 string的概念其實(shí)不是以前遇到\0結(jié)尾的概念了,他其實(shí)就是一塊連續(xù)的內(nèi)存,首地址+長(zhǎng)度,上面那樣賦值,如果p里邊有\(zhòng)0,他不會(huì)做處理這個(gè)時(shí)候,如果再對(duì)這個(gè)string做其他處理就可能出問(wèn)題了,比如strconv.Atoi轉(zhuǎn)成int就有錯(cuò)誤,解決辦法就是需要自己寫一個(gè)正規(guī)的轉(zhuǎn)換函數(shù):
func byteString(p []byte) string {
for i := 0; i len(p); i++ {
if p[i] == 0 {
return string(p[0:i])
}
}
return string(p)
}
這樣就不會(huì)出問(wèn)題了