數(shù)據(jù)庫(kù)中replace函數(shù)怎么用 為什么Go語(yǔ)言如此不受待見(jiàn)?
為什么Go語(yǔ)言如此不受待見(jiàn)?因?yàn)镚o語(yǔ)言比較簡(jiǎn)單吧,但是又很強(qiáng)大,所以近幾年特別火爆,這恰恰成了原罪,恰如當(dāng)年的PHP火爆的時(shí)候被噴的最慘一樣。不可否認(rèn)Rust在內(nèi)存安全方面做的非常好,屬于系統(tǒng)級(jí)別的
為什么Go語(yǔ)言如此不受待見(jiàn)?
因?yàn)镚o語(yǔ)言比較簡(jiǎn)單吧,但是又很強(qiáng)大,所以近幾年特別火爆,這恰恰成了原罪,恰如當(dāng)年的PHP火爆的時(shí)候被噴的最慘一樣。
不可否認(rèn)Rust在內(nèi)存安全方面做的非常好,屬于系統(tǒng)級(jí)別的語(yǔ)言,連微軟都公開(kāi)場(chǎng)合支持Rust,AWS也對(duì)Rust情有獨(dú)鐘,但是缺點(diǎn)就是編譯慢,學(xué)習(xí)曲線極度陡峭,有其他語(yǔ)言做基礎(chǔ)的程序員入門(mén)都要一兩個(gè)月,想要火起來(lái)還是挺困難的。
但是反觀Go語(yǔ)言,編譯速度非??欤Z(yǔ)法簡(jiǎn)單實(shí)用,有基礎(chǔ)的程序員只要2天就能熟練上手寫(xiě)項(xiàng)目了,相比于Rust的生態(tài),Go的生態(tài)可是要好太多太多,而且Go的協(xié)程經(jīng)過(guò)這么多年的考驗(yàn),也是非常成熟穩(wěn)定的,Rust的協(xié)程才剛剛確定下來(lái)不太完善。
另外,國(guó)內(nèi)的很多大廠都開(kāi)始擁抱Go語(yǔ)言了,例如B站,字節(jié)跳動(dòng)。面對(duì)Go語(yǔ)言這么強(qiáng)悍的高并發(fā)性能,這么低的資源需求,還在堅(jiān)持PHP和Java的公司,要么就是頑固不化的老古董,已經(jīng)不愿意學(xué)習(xí)新的東西了,也沒(méi)精力去學(xué)習(xí)新東西,要么就是快要倒閉了,正在走下坡路,沒(méi)有什么希望了。
然而,每門(mén)語(yǔ)言都有自己的長(zhǎng)處和短處,雖然Go的性能這門(mén)好,優(yōu)點(diǎn)這么多,為什么還要和Rust比較呢,其實(shí)是Go開(kāi)發(fā)者們自己心里在酸吧,不管Go把自己吹的如何如何,都比不了人家Rust一句話:我是系統(tǒng)級(jí)別編程語(yǔ)言,我和C和C 一個(gè)級(jí)別的。
總結(jié):放寬心態(tài),做自己喜歡做的事,go和rust都是非常棒的語(yǔ)言,都應(yīng)該好好學(xué)學(xué)。
go語(yǔ)言中使用mysqlsql語(yǔ)句?
Go語(yǔ)言操作數(shù)據(jù)庫(kù)非常的簡(jiǎn)單,他也有一個(gè)類(lèi)似JDBC的東西"database/sql"實(shí)現(xiàn)類(lèi)是"github.com/go-sql-driver/mysql"使用過(guò)JDBC的人應(yīng)該一看就懂對(duì)日期的處理比較晦澀,沒(méi)有JAVA流暢:復(fù)制代碼代碼如下:packagemainimport("database/sql"_"github.com/go-sql-driver/mysql""log""time")/*createtablet(idintprimarykeyauto_increment,namevarchar(20)notnull,tstimestamp)*/funcinsert(db*sql.DB){stmt,err:=db.Prepare("insertintot(name,ts)values(?,?)")deferstmt.Close()iferr!=nil{log.Println(err)return}ts,_:=time.Parse("2006-01-0215:04:05","2014-08-2815:04:00")stmt.Exec("edmond",ts)}funcmain(){db,err:=sql.Open("mysql","xx:xx@tcp(127.0.0.1:3306)/mvbox?charset=utf8")iferr!=nil{log.Fatalf("Opendatabaseerror:%sn",err)}deferdb.Close()err=db.Ping()iferr!=nil{log.Fatal(err)}