golang學(xué)習(xí)-創(chuàng)新互聯(lián)

由于期末考試沒時(shí)間學(xué)算法學(xué)了一波go放松一下
這可能是我學(xué)語言最認(rèn)真的一次了(
跟的是尚硅谷學(xué)完的 二倍速+快進(jìn) 折騰了一周左右
網(wǎng)絡(luò)編程部分沒看 因?yàn)椴欢?jì)網(wǎng) 不想學(xué)(
在這里插入圖片描述

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),微信小程序定制開發(fā),軟件按需開發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
  • 雖然已經(jīng)很老的課了 但是順平老師雀氏講的太細(xì)了
  • 也是聽完了
  • 自己也沒時(shí)間寫筆記 還有更重要的事情要做,就只是淺淺記錄了一下
  • 寫得也很亂 自己復(fù)習(xí)用

go≈c+py 保留了指針 如果有c/c++的基礎(chǔ)學(xué)起來應(yīng)該也會很快

go語言的hello world
package main

import (
	"fmt"
)

func main(){fmt.Println("hello world!")
}
數(shù)據(jù)類型
  • 字符串的字節(jié)使用 UTF-8 編碼標(biāo)識 Unicode 文本
  • go里面沒有char
變量

如果沒有聲明變量類型 var 可以自動推導(dǎo)變量類型
和c++區(qū)別的是 如果沒有聲明成全局變量 也會賦“0”值

package main

import (
	"fmt"
)

func main(){var a= 10
   //a:=10   
   //var a int  a=10
   fmt.Printf("%T",a)
}

在這里插入圖片描述
也可以這樣聲明(導(dǎo)包也可以直接一個(gè)括號

var (
	a int
	b  bool
   )
  • 匿名變量_ 不占用內(nèi)存空間,不會分配內(nèi)存
  • 變量作用域首字母大寫 別的包就也能訪問的到
指針

和c差不多 。 空指針是nil c++里的null

匿名函數(shù)
package main

import (
	"fmt"
	_"time"
	_"runtime"
)

func main(){ans:=func (a int ,b int)  int{return a+b
  }(1,2)
  fmt.Println(ans)
}
閉包

在這里插入圖片描述
請?zhí)砑訄D片描述
請?zhí)砑訄D片描述

  • 異常處理

![請?zhí)砑訄D片描述](https://img-blog.csdnimg.cn/5d459b251f5f400ca38051ff900666d4.png

在這里插入圖片描述

數(shù)組 切片 map 結(jié)構(gòu)體
  • 這些東西都很簡單 和c++差不多

在這里插入圖片描述

  • 首字母大寫== public 其他包也可以訪問到
  • 數(shù)組是值類型!
  • 數(shù)組必須有長度 [2]int [3]int 不一樣 相當(dāng)于兩種數(shù)據(jù)類型
  • 切片是引用類型
  • 相當(dāng)于結(jié)構(gòu)體 存放了首地址 容量 和長度

append底層
請?zhí)砑訄D片描述

  • 字符串底層是結(jié)構(gòu)體 ,也可以切片處理
  • string不能直接修改 修改成byte或者rune

在這里插入圖片描述

  • map聲明不占內(nèi)存
  • 記的 slice和map 使用時(shí)需要make就行
接口
  • 接口必須把所有的方法全部實(shí)現(xiàn)
  • 接口是go多態(tài)的體現(xiàn),繼承的補(bǔ)充

一個(gè)簡單的接口實(shí)現(xiàn)

package main

import (
	"fmt"
)

type i1 struct {a int
}

type node interface {solve1()
	solve2()
}

func (i i1) solve1() {fmt.Println(i.a)
}
func (i i1) solve2() {fmt.Println(i.a)
}

func main() {var p i1 = i1{10}
	var a node = p
	a.solve1()

}
工廠模式

go語言里面沒有構(gòu)造函數(shù) 所以使用工廠模式解決這個(gè)問題
在這里插入圖片描述
在這里插入圖片描述

json

請?zhí)砑訄D片描述

多線程

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  • List item

可讀可寫:
在這里插入圖片描述

  • 并行并發(fā)的程序涉及很多邏輯問題 寫的時(shí)候要特別注意 也是go的大特點(diǎn)
  • 如果只是向管道寫入數(shù)據(jù),而沒有讀取,就會出現(xiàn)阻塞
  • 寫和讀不同步也可以 底層已經(jīng)做了優(yōu)化
  • select可以解決取數(shù)據(jù)的問題 switch“有序” 它“無序”
  • 協(xié)程發(fā)現(xiàn)了panic 必須捕獲 負(fù)責(zé)會 造成程序崩潰
  • 開啟寫的協(xié)程,執(zhí)行完成記得關(guān)閉,否則讀取管道一直等待導(dǎo)致死鎖
  • 關(guān)于主線程提前結(jié)束可以開一個(gè)守護(hù)線程
  • 更好的解決主線程提前結(jié)束的方法link
反射
  • 主要是用來寫框架 真沒學(xué)太明白(
  • 可以說平常寫的代碼都是正射 他是反射來獲取東西

在這里插入圖片描述
序列化和反序列化

網(wǎng)絡(luò)編程

等學(xué)了計(jì)網(wǎng)再學(xué)

數(shù)據(jù)結(jié)構(gòu)

acmer 數(shù)組模擬一些ds還是很容易的

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:golang學(xué)習(xí)-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article6/ipdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站排名網(wǎng)站維護(hù)、靜態(tài)網(wǎng)站、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司