溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go中的var可以初始化結(jié)構體嗎

發(fā)布時間:2021-11-30 16:03:20 來源:億速云 閱讀:291 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“go中的var可以初始化結(jié)構體嗎”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“go中的var可以初始化結(jié)構體嗎”吧!

語法提前了解

  • string轉(zhuǎn)成int 在golang中使用strconv.Atoi方法

  • golang中方法的返回值可以有多個,這個跟java不一樣,例如map[id]這樣的方式,第一個返回值就是value,第二個返回值是bool類型,表示是否存在

  • 和java中json序列化的方式比較像,反序列化是json.Unmarshal方法,第一個參數(shù)是字節(jié)數(shù)組,第二個參數(shù)是序列化對象的"地址",要加一個&,序列化的方式json.Marshal方法,注意這個方法返回的字節(jié)數(shù)組

上面這個小節(jié)用的語法在下面的練習中是經(jīng)常用到的,小伙伴們可以簡單地記憶一下

練習

1.我們簡單地定義一個User類,用golang完成關于這個結(jié)構體實例的增刪改查,我們定義一個結(jié)構體如下所示,有三個屬性Id,Name,Age

go中的var可以初始化結(jié)構體嗎

2.因為是在內(nèi)存中做增刪改查的,沒有用到數(shù)據(jù)庫的,所以我們要像java一樣定義一個全局變量,作為一個容器來保存數(shù)據(jù),如下圖源碼所示,我們使用關鍵字var定義一個全局變量map,并初始化一條記錄

go中的var可以初始化結(jié)構體嗎

3.然后定義四個"RequestMapping"如下所示

go中的var可以初始化結(jié)構體嗎

3.1 getUser方法主要的邏輯就是獲取傳遞的參數(shù)id,然后根據(jù)id去全局變量中獲取user基本信息

go中的var可以初始化結(jié)構體嗎

3.2 saveUser我們處理POST請求,現(xiàn)在開發(fā)中一般傳遞過來的json數(shù)據(jù),我們解析json到對應,然后保存到我們?nèi)肿兞恐?/p>

go中的var可以初始化結(jié)構體嗎

3.3 updateUser和saveUpdate比較像,為了簡單,我們這邊只判斷如果全局map中對應的id存在的話,就變更這個id對應的user對象,就不進行屬性比較和替換了

go中的var可以初始化結(jié)構體嗎

3.4 deleteUser就更加簡單了,直接刪除map中對應的id就可以了

go中的var可以初始化結(jié)構體嗎

測試

1.getUser的測試

go中的var可以初始化結(jié)構體嗎

2.saveUser的測試

go中的var可以初始化結(jié)構體嗎

go中的var可以初始化結(jié)構體嗎

3.updateUser的測試

go中的var可以初始化結(jié)構體嗎

go中的var可以初始化結(jié)構體嗎

4.

go中的var可以初始化結(jié)構體嗎

到此,相信大家對“go中的var可以初始化結(jié)構體嗎”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI