go新手常踩的坑
共 3405字,需瀏覽 7分鐘
·
2024-06-25 08:16
關(guān)注上面公眾號(hào)回復(fù)“激活碼”,獲取最新永久激活碼
作為一個(gè)5年的phper,這兩年公司和個(gè)人都在順應(yīng)技術(shù)趨勢(shì),新項(xiàng)目慢慢從php轉(zhuǎn)向了go語言,從2021年到現(xiàn)在,筆者手上也先后開發(fā)了兩個(gè)go項(xiàng)目。在學(xué)習(xí)go語言的過程中也學(xué)習(xí)并總結(jié)了一些相關(guān)的東西,這篇文章就分享下自己踩過的一些坑吧。Golang 新手要注意的陷阱和常見錯(cuò)誤(一)
1、函數(shù)的寫法
func main(){fmt.Println("php是世界上最好的語言")}
解決:
func main() {fmt.Println("php是世界上最好的語言")}
2、map定義和初始化
問題:
func main() {var m map[string]stringm["php"] = "世界上最好的語言"m["go"] = "世界上最好的語言"fmt.Println(m)}
解決:
func main() {m := make(map[string]string, 2)m["php"] = "世界上最好的語言"m["go"] = "世界上最好的語言"fmt.Println(m)}
3、json格式轉(zhuǎn)換
type Student struct {id intname stringscore int}func main() {s := Student{1, "小明", 99}jsonS, _ := json.Marshal(s)fmt.Println(string(jsonS))}
解決:
type Student struct {Id intName stringScore int}func main() {s := Student{1, "小明", 99}jsonS, _ := json.Marshal(s)fmt.Println(string(jsonS))}
4、循環(huán)中處理業(yè)務(wù)問題
func main() {data := []int{1, 2, 3}for _, value := range data {value += 1}fmt.Println(data)}
解決:
func main() {data := []int{1, 2, 3}for key := range data {data[key] += 1}fmt.Println(data)}
5、數(shù)組和切片的區(qū)別
func change(data [2]int) {data[0] = 4}func main() {data := [2]int{1, 2}change(data)fmt.Println(data)}
解決:
func change(data []int) {data[0] = 4}func main() {data := []int{1, 2}change(data)fmt.Println(data)}
6、:= 聲明和初始化變量
func main() {flag := 1if true {flag := 2flag++}fmt.Println(flag)}
解決:
func main() {flag := 1if true {flag = 2flag++}fmt.Println(flag)}
總結(jié):以上,就是本人在實(shí)際開發(fā)中,結(jié)合自己所學(xué),遇到的一些比較常見的坑點(diǎn)了。當(dāng)然,也是比較基礎(chǔ)的一些點(diǎn)。后面,我也會(huì)繼續(xù)深入學(xué)習(xí)go,總結(jié)更多的經(jīng)驗(yàn)!
評(píng)論
圖片
表情
