真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語(yǔ)言圖形界面入門教程,go 圖形化

關(guān)于GO 語(yǔ)言的入門學(xué)習(xí) 求解答

已經(jīng)有好多程序員都把Go語(yǔ)言描述為是一種所見(jiàn)即所得(WYSIWYG)的編程語(yǔ)言。這是說(shuō),代碼要做的事和它在字面上表達(dá)的意思是完全一致的。 在這些新語(yǔ)言中,包含D,Go,Rust和Vala語(yǔ)言,Go曾一度出現(xiàn)在TIOBE的排行榜上面。與其他新語(yǔ)言相比,Go的魅力明顯要大很多。Go的成熟特征會(huì)得到許多開(kāi)發(fā)者的欣賞,而不僅僅是因?yàn)槠淇浯笃湓~的曝光度。下面我們來(lái)一起探討一下谷歌開(kāi)發(fā)的Go語(yǔ)言以及談?wù)凣o為什么會(huì)吸引眾多開(kāi)發(fā)者: 快速簡(jiǎn)單的編譯 Go編譯速度很快,如此快速的編譯使它很容易作為腳本語(yǔ)言使用。關(guān)于編譯速度快主要有以下幾個(gè)原因:首先,Go不使用頭文件;其次如果一個(gè)模塊是依賴A的,這反過(guò)來(lái)又取決于B,在A里面的需求改變只需重新編譯原始模塊和與A相依賴的地方;最后,對(duì)象模塊里面包含了足夠的依賴關(guān)系信息,所以編譯器不需要重新創(chuàng)建文件。你只需要簡(jiǎn)單地編譯主模塊,項(xiàng)目中需要的其他部分就會(huì)自動(dòng)編譯,很酷,是不是? 通過(guò)返回?cái)?shù)值列表來(lái)處理錯(cuò)誤信息 目前,在本地語(yǔ)言里面處理錯(cuò)誤的方式主要有兩種:直接返回代碼或者拋異常。這兩種都不是最理想的處理方式。其中返回代碼是非常令人沮喪的,因?yàn)榉祷氐腻e(cuò)誤代碼經(jīng)常與從函數(shù)中返回的數(shù)據(jù)相沖突。Go允許函數(shù)返回多個(gè)值來(lái)解決這個(gè)問(wèn)題。這個(gè)從函數(shù)里面返回的值,可以用來(lái)檢查定義的類型是否正確并且可以隨時(shí)隨地對(duì)函數(shù)的返回值進(jìn)行檢查。如果你對(duì)錯(cuò)誤值不關(guān)心,你可以不必檢查。在這兩種情況下,常規(guī)的返回值都是可用的。 簡(jiǎn)化的成分(優(yōu)先于繼承) 通過(guò)使用接口,類型是有資格成為對(duì)象中一員的,就像Java指定行為一樣。例如在標(biāo)準(zhǔn)庫(kù)里面的IO包,定義一個(gè)Writer來(lái)指定一個(gè)方法,一個(gè)Writer函數(shù),其中輸入?yún)?shù)是字節(jié)數(shù)組并且返回整數(shù)類型值或者錯(cuò)誤類型。任何類型實(shí)現(xiàn)一個(gè)帶有相同簽名的Writer方法是對(duì)IO的完全實(shí)現(xiàn),Writer接口。這種是解耦代碼而不是優(yōu)雅。它還簡(jiǎn)化了模擬對(duì)象來(lái)進(jìn)行單元測(cè)試。例如你想在數(shù)據(jù)庫(kù)對(duì)象中測(cè)試一個(gè)方法,在標(biāo)準(zhǔn)語(yǔ)言中,你通常需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)對(duì)象,并且需要進(jìn)行大量的初始化和協(xié)議來(lái)模擬對(duì)象。在Go里面,如果該方法需要實(shí)現(xiàn)一個(gè)接口,你可以創(chuàng)建任何對(duì)該接口有用的對(duì)象,所以,你創(chuàng)建了MockDatabase,這是很小的對(duì)象,只實(shí)現(xiàn)了幾個(gè)需要運(yùn)行和模擬的接口——沒(méi)有構(gòu)造函數(shù),沒(méi)有附件功能,只是一些方法。 簡(jiǎn)化的并發(fā)性 相對(duì)于其他語(yǔ)言,并發(fā)性在Go里面顯得更加容易。把‘go’關(guān)鍵字放在任意函數(shù)前面然后那個(gè)函數(shù)就會(huì)在其go-routine自動(dòng)運(yùn)行(一個(gè)很輕的線程)。go-routines是通過(guò)通道進(jìn)行交流并且基本上封鎖了所有的隊(duì)列消息。普通工具對(duì)相互排斥是有用,但是Go通過(guò)使用通道來(lái)踢掉并發(fā)性任務(wù)和坐標(biāo)更加容易。 優(yōu)秀的錯(cuò)誤消息 所有與Go相似的語(yǔ)言,自身作出的診斷都是無(wú)法與Go相媲美的。例如,一個(gè)死鎖程序,在Go運(yùn)行時(shí)會(huì)通知你目前哪個(gè)線程導(dǎo)致了這種死鎖。編譯的錯(cuò)誤信息是非常詳細(xì)全面和有用的。 其他 這里還有許多其他吸引人的地方,下面就一概而過(guò)的介紹一下,比如高階函數(shù)、垃圾回收、哈希映射和可擴(kuò)展的數(shù)組內(nèi)置語(yǔ)言(部分語(yǔ)言語(yǔ)法,而不是作為一個(gè)庫(kù))等等。 當(dāng)然,Go并不是完美無(wú)瑕。在工具方面還有些不成熟的地方和用戶社區(qū)較小等,但是隨著谷歌語(yǔ)言的不斷發(fā)展,肯定會(huì)有整治措施出來(lái)。盡管許多語(yǔ)言,尤其是D、Rust和Vala旨在簡(jiǎn)化C++并且對(duì)其進(jìn)行簡(jiǎn)化,但它們給人的感覺(jué)仍是“C++看上去要更好”。

成都創(chuàng)新互聯(lián)專業(yè)做網(wǎng)站、網(wǎng)站設(shè)計(jì),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文發(fā)布平臺(tái)等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

【Go語(yǔ)言的優(yōu)勢(shì)】

可直接編譯成機(jī)器碼,不依賴其他庫(kù),glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。

靜態(tài)類型語(yǔ)言,但是有動(dòng)態(tài)語(yǔ)言的感覺(jué),靜態(tài)類型的語(yǔ)言就是可以在編譯的時(shí)候檢查出來(lái)隱藏的大多數(shù)問(wèn)題,動(dòng)態(tài)語(yǔ)言的感覺(jué)就是有很多的包可以使用,寫起來(lái)的效率很高。

語(yǔ)言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā),我曾經(jīng)說(shuō)過(guò)一句話,天生的基因和整容是有區(qū)別的,大家一樣美麗,但是你喜歡整容的還是天生基因的美麗呢?Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。

內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語(yǔ)言的特性之一吧,雖然目前來(lái)說(shuō)GC不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。

簡(jiǎn)單易學(xué),Go語(yǔ)言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語(yǔ)言見(jiàn)過(guò)的特性:繼承、重載、對(duì)象等。

豐富的標(biāo)準(zhǔn)庫(kù),Go目前已經(jīng)內(nèi)置了大量的庫(kù),特別是網(wǎng)絡(luò)庫(kù)非常強(qiáng)大,我最愛(ài)的也是這部分。

內(nèi)置強(qiáng)大的工具,Go語(yǔ)言里面內(nèi)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡(jiǎn)單,代碼格式一模一樣,想不一樣都很困難。

跨編譯,如果你寫的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統(tǒng)的信息。

內(nèi)嵌C支持,前面說(shuō)了作者是C的作者,所以Go里面也可以直接包含c代碼,利用現(xiàn)有的豐富的C庫(kù)。

如何學(xué)習(xí)GO語(yǔ)言?

Go語(yǔ)言也稱 Golang,兼具效率、性能、安全、健壯等特性。這套Go語(yǔ)言教程(Golang教程)通俗易懂,深入淺出,既適合沒(méi)有基礎(chǔ)的讀者快速入門,也適合工作多年的程序員查閱知識(shí)點(diǎn)。

Go 語(yǔ)言

這套教程在講解一些知識(shí)點(diǎn)時(shí),將 Go 語(yǔ)言和其他多種語(yǔ)言進(jìn)行對(duì)比,讓掌握其它編程語(yǔ)言的讀者能迅速理解 Go 語(yǔ)言的特性。Go語(yǔ)言從底層原生支持并發(fā),無(wú)須第三方庫(kù)、開(kāi)發(fā)者的編程技巧和開(kāi)發(fā)經(jīng)驗(yàn)就可以輕松搞定。

Go語(yǔ)言(或 Golang)起源于 2007 年,并在 2009 年正式對(duì)外發(fā)布。Go 是非常年輕的一門語(yǔ)言,它的主要目標(biāo)是“兼具 Python 等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)速度和 C/C++ 等編譯型語(yǔ)言的性能與安全性”。

Go語(yǔ)言是編程語(yǔ)言設(shè)計(jì)的又一次嘗試,是對(duì)類C語(yǔ)言的重大改進(jìn),它不但能讓你訪問(wèn)底層操作系統(tǒng),還提供了強(qiáng)大的網(wǎng)絡(luò)編程和并發(fā)編程支持。Go語(yǔ)言的用途眾多,可以進(jìn)行網(wǎng)絡(luò)編程、系統(tǒng)編程、并發(fā)編程、分布式編程。

Go語(yǔ)言的推出,旨在不損失應(yīng)用程序性能的情況下降低代碼的復(fù)雜性,具有“部署簡(jiǎn)單、并發(fā)性好、語(yǔ)言設(shè)計(jì)良好、執(zhí)行性能好”等優(yōu)勢(shì),目前國(guó)內(nèi)諸多 IT 公司均已采用Go語(yǔ)言開(kāi)發(fā)項(xiàng)目。Go語(yǔ)言有時(shí)候被描述為“C 類似語(yǔ)言”,或者是“21 世紀(jì)的C語(yǔ)言”。Go 從C語(yǔ)言繼承了相似的表達(dá)式語(yǔ)法、控制流結(jié)構(gòu)、基礎(chǔ)數(shù)據(jù)類型、調(diào)用參數(shù)傳值、指針等很多思想,還有C語(yǔ)言一直所看中的編譯后機(jī)器碼的運(yùn)行效率以及和現(xiàn)有操作系統(tǒng)的無(wú)縫適配。

因?yàn)镚o語(yǔ)言沒(méi)有類和繼承的概念,所以它和 Java 或 C++ 看起來(lái)并不相同。但是它通過(guò)接口(interface)的概念來(lái)實(shí)現(xiàn)多態(tài)性。Go語(yǔ)言有一個(gè)清晰易懂的輕量級(jí)類型系統(tǒng),在類型之間也沒(méi)有層級(jí)之說(shuō)。因此可以說(shuō)Go語(yǔ)言是一門混合型的語(yǔ)言。

此外,很多重要的開(kāi)源項(xiàng)目都是使用Go語(yǔ)言開(kāi)發(fā)的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。Go 是編譯型語(yǔ)言,Go 使用編譯器來(lái)編譯代碼。編譯器將源代碼編譯成二進(jìn)制(或字節(jié)碼)格式;在編譯代碼時(shí),編譯器檢查錯(cuò)誤、優(yōu)化性能并輸出可在不同平臺(tái)上運(yùn)行的二進(jìn)制文件。要?jiǎng)?chuàng)建并運(yùn)行 Go 程序,程序員必須執(zhí)行如下步驟。

使用文本編輯器創(chuàng)建 Go 程序;

保存文件;編譯程序;運(yùn)行編譯得到的可執(zhí)行文件。

這不同于 Python、Ruby 和 JavaScript 等語(yǔ)言,它們不包含編譯步驟。Go 自帶了編譯器,因此無(wú)須單獨(dú)安裝編譯器。

鏈喬教育在線旗下學(xué)碩創(chuàng)新區(qū)塊鏈技術(shù)工作站是中國(guó)教育部學(xué)校規(guī)劃建設(shè)發(fā)展中心開(kāi)展的“智慧學(xué)習(xí)工場(chǎng)2020-學(xué)碩創(chuàng)新工作站 ”唯一獲準(zhǔn)的“區(qū)塊鏈技術(shù)專業(yè)”試點(diǎn)工作站。專業(yè)站立足為學(xué)生提供多樣化成長(zhǎng)路徑,推進(jìn)專業(yè)學(xué)位研究生產(chǎn)學(xué)研結(jié)合培養(yǎng)模式改革,構(gòu)建應(yīng)用型、復(fù)合型人才培養(yǎng)體系。

怎樣學(xué)習(xí)GO語(yǔ)言?

golang學(xué)習(xí)比較簡(jiǎn)單,不過(guò)任何一門語(yǔ)言都不是孤立存在的,在這里簡(jiǎn)要說(shuō)明一下golang開(kāi)發(fā)的學(xué)習(xí)路線

1.golang基礎(chǔ),包括go語(yǔ)言安裝,go語(yǔ)言語(yǔ)法,流程控制語(yǔ)句,函數(shù),方法,面向?qū)ο蟾拍睿W(wǎng)絡(luò)編程,并發(fā)編程等

2.golang開(kāi)發(fā)框架,包括beego,gin,Iris,Echo等

3.微服務(wù)開(kāi)發(fā)

4.深入的話還可以學(xué)習(xí)算法部分。如果要接觸區(qū)塊鏈相關(guān)技術(shù)的話,還需要學(xué)習(xí)區(qū)塊鏈的加密算法等相關(guān)知識(shí)

5.如果要結(jié)合go實(shí)現(xiàn)應(yīng)用的話,肯定離不開(kāi)各種數(shù)據(jù)庫(kù),比如關(guān)系型數(shù)據(jù)庫(kù)oracle、mysql,或者各類非關(guān)系型數(shù)據(jù)庫(kù)等等

6.如果需要開(kāi)發(fā)界面的話,還需要學(xué)習(xí)網(wǎng)頁(yè)編程如html,javascript,vue,elementUI,bootstrap等網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)和框架。

7.在以上學(xué)習(xí)的基礎(chǔ)上還可以向架構(gòu)方面深入學(xué)習(xí)。

鏈喬教育在線祝您學(xué)有所成。

Go 使用 GraphQL - 基礎(chǔ)教程

歡迎golang同胞!在本教程中,我們將研究如何在基于 Go 的程序中與 GraphQL 服務(wù)器進(jìn)行交互。在本教程結(jié)束時(shí),我們應(yīng)該知道如何執(zhí)行以下操作:

在本教程中,我們將專注于學(xué)習(xí) GraphQL 的數(shù)據(jù)檢索方面,并且我們將使用內(nèi)存中的數(shù)據(jù)源來(lái)支持它。這應(yīng)該為我們?cè)诤罄m(xù)教程的基礎(chǔ)上建立一個(gè)良好的基礎(chǔ)。

好的,所以在我們深入研究之前,我們應(yīng)該真正了解 GraphQL 的基礎(chǔ)知識(shí)。作為開(kāi)發(fā)人員,使用它對(duì)我們有什么好處?

好吧,考慮使用每天處理數(shù)十萬(wàn)甚至數(shù)百萬(wàn)請(qǐng)求的系統(tǒng)。傳統(tǒng)上,我們會(huì)使用位于數(shù)據(jù)庫(kù)前面的系統(tǒng) API,它會(huì)返回大量 JSON 響應(yīng),其中包含許多我們可能不一定需要的冗余信息。

如果我們正在處理大規(guī)模的應(yīng)用程序,發(fā)送冗余數(shù)據(jù)的成本可能會(huì)很高,并且由于有效負(fù)載大小會(huì)阻塞我們的網(wǎng)絡(luò)帶寬。

GraphQL基本上可以讓我們以減少噪音和描述數(shù)據(jù),我們希望讓我們的檢索,從我們的API中檢索 只有 我們需要為我們當(dāng)前的任務(wù)/視圖/不管。

這只是該技術(shù)為我們提供的眾多好處的一個(gè)例子。希望在接下來(lái)的教程系列中,我們會(huì)提前看到更多這些好處。

需要注意的重要一點(diǎn)是,GraphQL 不像我們傳統(tǒng)的 SQL 那樣是一種查詢語(yǔ)言。它是位于我們 API 前面的抽象, 不 依賴于任何特定的數(shù)據(jù)庫(kù)或存儲(chǔ)引擎。

這真的很酷。我們可以建立一個(gè)與現(xiàn)有服務(wù)商交互的 GraphQL 服務(wù)器,然后圍繞著這個(gè)新的 GraphQL 服務(wù)器構(gòu)建,而不必?fù)?dān)心修改現(xiàn)有的 REST API。

讓我們看看 RESTful 方法與 GraphQL 方法有何不同?,F(xiàn)在,假設(shè)我們正在構(gòu)建一個(gè)返回該站點(diǎn)上所有教程的服務(wù),如果我們想要特定教程的信息,我們通常會(huì)創(chuàng)建一個(gè) API 端點(diǎn),允許我們根據(jù) ID 檢索特定教程:

如果給定一個(gè) valid ID,這將返回一個(gè)響應(yīng),看起來(lái)像這樣:

現(xiàn)在,假設(shè)我們想創(chuàng)建一個(gè)小部件,列出該作者撰寫的書籍 5 個(gè)帖子。我們可以點(diǎn)擊/author/:id端點(diǎn)以檢索該作者撰寫的所有帖子,然后進(jìn)行后續(xù)調(diào)用以檢索前 5 個(gè)帖子中的每一個(gè)。或者,我們可以制作一個(gè)全新的端點(diǎn)來(lái)為我們返回這些數(shù)據(jù)。

這兩種解決方案聽(tīng)起來(lái)都不是特別吸引人,因?yàn)樗鼈儠?huì)創(chuàng)建不需要的請(qǐng)求量或返回過(guò)多的數(shù)據(jù),這突出了 RESTful 方法開(kāi)始出現(xiàn)一些裂縫的地方。

這就是 GraphQL 發(fā)揮作用的地方。使用 GraphQL,我們可以定義我們希望在查詢中返回的數(shù)據(jù)的確切結(jié)構(gòu)。所以如果我們想要上面的信息,我們可以創(chuàng)建一個(gè)看起來(lái)像這樣的查詢:

這將隨后返回我們的教程、該教程的作者和一組表示該作者編寫的教程的教程 ID,而無(wú)需發(fā)送額外的 x 多個(gè) REST 請(qǐng)求來(lái)獲取信息!那有多好?

好的,現(xiàn)在我們對(duì) GraphQL 以及對(duì)它的用途有了更多的了解,讓我們?cè)趯?shí)踐中看看它。

我們將使用graphql-go/graphql實(shí)現(xiàn)在 Go 中創(chuàng)建一個(gè)簡(jiǎn)單的 GraphQL 服務(wù)器 。

讓我們首先使用go mod init以下方法初始化我們的項(xiàng)目:

接下來(lái),讓我們創(chuàng)建一個(gè)名為main.go. 我們將從簡(jiǎn)單開(kāi)始創(chuàng)建一個(gè)非常簡(jiǎn)單的 GraphQL 服務(wù)器,它具有一個(gè)非常簡(jiǎn)單的解析器:

現(xiàn)在,如果我們嘗試運(yùn)行它,讓我們看看會(huì)發(fā)生什么:

所以,如果一切正常,那么我們就可以設(shè)置一個(gè)非常簡(jiǎn)單的 GraphQL 服務(wù)器并對(duì)這個(gè)服務(wù)器進(jìn)行非常簡(jiǎn)單的查詢。

讓我們分解上面代碼中發(fā)生的事情,以便我們可以進(jìn)一步擴(kuò)展它。在lines 14-21我們定義我們的Schema. 當(dāng)我們對(duì)我們的 GraphQL API 進(jìn)行查詢時(shí),我們基本上定義了我們想要返回給我們的對(duì)象上的哪些字段,因此我們必須在我們的 Schema 重新定義這些字段。

在 上line 17,我們定義了一個(gè)解析器函數(shù),每當(dāng)field請(qǐng)求此特定內(nèi)容時(shí)就會(huì)觸發(fā)該解析器函數(shù)。現(xiàn)在,我們只是返回字符串 "world",但我們將實(shí)現(xiàn)從這里查詢數(shù)據(jù)庫(kù)的能力。

讓我們看一下main.go文件的第二部分。在line 30我們開(kāi)始定義query請(qǐng)求領(lǐng)域hello。

然后我們創(chuàng)建一個(gè)params結(jié)構(gòu),其中包含對(duì)我們定義的Schema以及我們的RequestString請(qǐng)求的引用 。

最后,在line 36我們執(zhí)行請(qǐng)求并將請(qǐng)求的結(jié)果填充到r. 然后我們進(jìn)行一些錯(cuò)誤處理,然后將響應(yīng)編組為 JSON 并將其打印到我們的控制臺(tái)上。

現(xiàn)在我們已經(jīng)啟動(dòng)并運(yùn)行了一個(gè)非常簡(jiǎn)單的 GraphQL 服務(wù)器,并且我們能夠?qū)ζ溥M(jìn)行查詢,讓我們更進(jìn)一步,構(gòu)建一個(gè)更復(fù)雜的示例。

我們將創(chuàng)建一個(gè) GraphQL 服務(wù)器,它返回一系列內(nèi)存中的教程及其作者,以及對(duì)這些特定教程的任何評(píng)論。

讓我們定義一些struct代表 a Tutorial、 anAuthor和 a 的's Comment:

然后我們可以創(chuàng)建一個(gè)非常簡(jiǎn)單的populate()函數(shù),它將返回一個(gè)類型數(shù)組Tutorial:

這將為我們提供一個(gè)簡(jiǎn)單的教程列表,然后我們可以稍后解決。

我們將從使用 GraphQL 創(chuàng)建一個(gè)新對(duì)象開(kāi)始graphql.NewObject()。我們將使用 GraphQL 的嚴(yán)格類型定義 3 種不同的類型,它們將與structs我們已經(jīng)定義的 3 種相匹配。

我們的Commentstruct 可以說(shuō)是最簡(jiǎn)單的,它只包含一個(gè) string Body,所以我們可以commentType很容易地將其表示為:

接下來(lái),我們將處理該Author結(jié)構(gòu)并將其定義為一個(gè)新的 graphql.NewObject(). 這會(huì)稍微復(fù)雜一些,因?yàn)樗扔幸粋€(gè) String字段,也有一個(gè)Int值列表,這些值代表他們編寫的教程的 ID。

最后,讓我們定義我們的tutorialTypewhich 將封裝 an author和comment's的數(shù)組以及 anID和 a title:

現(xiàn)在我們已經(jīng)定義了我們的Type系統(tǒng),讓我們著手更新我們的 Schema 以反映這些新類型。我們將定義 2 個(gè) distinct Field,第一個(gè)將是我們的tutorial字段,它允許我們Tutorials 根據(jù)傳入查詢的 ID檢索個(gè)人。第二個(gè)將是一個(gè)list字段,它將允許我們檢索Tutorials我們?cè)趦?nèi)存中定義的完整數(shù)組。

所以我們已經(jīng)創(chuàng)建了我們的類型并更新了我們的 GraphQL 模式,我們做得還不錯(cuò)!

讓我們嘗試使用我們的新 GraphQL 服務(wù)器并處理我們提交的查詢。讓我們來(lái)嘗試我們的list架構(gòu)改變query ,我們已經(jīng)在我們得到main()的功能:

讓我們分解一下。所以在我們的查詢中,我們有一個(gè)特殊的root對(duì)象。然后我們?cè)谄渲姓f(shuō)我們想要該list對(duì)象上的字段。在返回的名單list,我們希望看到的id,title,comments和 author。

當(dāng)我們運(yùn)行它時(shí),我們應(yīng)該會(huì)看到以下輸出:

正如我們所見(jiàn),我們的查詢以 JSON 格式返回了我們所有的教程,看起來(lái)非常像我們初始查詢的結(jié)構(gòu)。

現(xiàn)在讓我們嘗試對(duì)我們的tutorial模式進(jìn)行查詢:

再一次,當(dāng)我們運(yùn)行它時(shí),我們應(yīng)該看到它已經(jīng)成功地檢索了內(nèi)存中的單獨(dú)教程ID=1:

完美,看起來(lái)我們已經(jīng)讓list我們的tutorial模式和我們的模式都按預(yù)期工作了。

這就是我們將在這個(gè)初始教程中介紹的全部?jī)?nèi)容。我們已經(jīng)成功地設(shè)置了一個(gè)簡(jiǎn)單的 GraphQL 服務(wù)器,該服務(wù)器由內(nèi)存數(shù)據(jù)存儲(chǔ)支持。

在下一個(gè)教程中,我們將研究 GraphQL 突變并更改我們的數(shù)據(jù)源以使用 SQL 數(shù)據(jù)庫(kù)

GO語(yǔ)言入門,有什么好的教程???

可以學(xué)習(xí)黑馬程序員的這個(gè)教程

20小時(shí)快速入門go語(yǔ)言:網(wǎng)頁(yè)鏈接

go語(yǔ)言的優(yōu)勢(shì)

可直接編譯成機(jī)器碼,不依賴其他庫(kù),glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。

靜態(tài)類型語(yǔ)言,但是有動(dòng)態(tài)語(yǔ)言的感覺(jué),靜態(tài)類型的語(yǔ)言就是可以在編譯的時(shí)候檢查出來(lái)隱藏的大多數(shù)問(wèn)題,動(dòng)態(tài)語(yǔ)言的感覺(jué)就是有很多的包可以使用,寫起來(lái)的效率很高。

語(yǔ)言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā)。Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。

內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語(yǔ)言的特性之一吧,雖然目前來(lái)說(shuō)GC(內(nèi)存垃圾回收機(jī)制)不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。

簡(jiǎn)單易學(xué),Go語(yǔ)言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語(yǔ)言見(jiàn)過(guò)的特性:繼承、重載、對(duì)象等。

豐富的標(biāo)準(zhǔn)庫(kù),Go目前已經(jīng)內(nèi)置了大量的庫(kù),特別是網(wǎng)絡(luò)庫(kù)非常強(qiáng)大。

內(nèi)置強(qiáng)大的工具,Go語(yǔ)言里面內(nèi)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡(jiǎn)單,代碼格式一模一樣,想不一樣都很困難。

跨平臺(tái)編譯,如果你寫的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統(tǒng)的信息。

內(nèi)嵌C支持,Go里面也可以直接包含C代碼,利用現(xiàn)有的豐富的C庫(kù)。


網(wǎng)站名稱:go語(yǔ)言圖形界面入門教程,go 圖形化
URL地址:http://weahome.cn/article/dsscsge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部