go語言怎么導入框架 go語言菜鳥教程

關于在go語言中導入當前文件夾的步驟

1.先把要導入的包go build - go install

10年積累的網站制作、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有高陵免費網站建設讓你可以放心的選擇與我們合作。

2.接著在要導入的方法中以: 項目名 / 導入的文件名 ?的形式導入即可(如下方test(項目名) / chiid(文件名))

go語言web框架beego安裝(go mod方式)

go語言web框架beego安裝(go mod方式)_不忘初心,方得始終-CSDN博客

重要:將bee命令放到GOROOT/bin目錄下,這步很關鍵

cp bee /usr/local/go/bin/

注:或者可以將GOPATH/bin設置為環境變量

echo ’export PATH=" PATH"' ~/.bashrc

source ~/.bashrc

router路由下方法名要大寫,訪問權限

wq保存

生效環境變量: source /etc/profile

go build -o abc.exe可指定編譯后的文件名

Golang常用環境變量說明與設置詳解

環境變量GOBIN表示我們開發程序編譯后二進制命令的安裝目錄。

當我們使用go install命令編譯和打包應用程序時,該命令會將編譯后二進制程序打包GOBIN目錄,一般我們將GOBIN設置為GOPATH/bin目錄。

export GOBIN=$GOPATH/bin

Go get包管理mod

windows下默認項目路徑在go安裝目錄的src下(beego)

如何使用go語言的beego框架的orm

models.go

============================

package main

import (

"github.com/astaxie/beego/orm"

)

type User struct {

Id int

Name string

Profile *Profile `orm:"rel(one)"` // OneToOne relation

}

type Profile struct {

Id int

Age int16

User *User `orm:"reverse(one)"` // 設置反向關系(可選)

}

func init() {

// 需要在init中注冊定義的model

orm.RegisterModel(new(User), new(Profile))

}

main.go

==============

package main

import (

"fmt"

"github.com/astaxie/beego/orm"

_ "github.com/go-sql-driver/mysql"

)

func init() {

//orm.RegisterModel(new(User))

orm.RegisterDataBase("default", "mysql", "ta3:ta3@/ta3?charset=utf8")

orm.RunSyncdb("default", false, true) // true 改成false,如果表存在則會給出提示,如果改成false則不會提示 , 這句話沒有會報主鍵不存在的錯誤

}

func main() {

o := orm.NewOrm()

o.Using("default") // 默認使用 default,你可以指定為其他數據庫

user := User{Id: 1}

err := o.Read(user)

if err == orm.ErrNoRows {

fmt.Println("查詢不到")

} else if err == orm.ErrMissPK {

fmt.Println("找不到主鍵")

} else {

fmt.Println(user.Id, user.Name)

}

}

執行結果:

create table `user`

-- --------------------------------------------------

-- Table Structure for `main.User`

-- --------------------------------------------------

CREATE TABLE IF NOT EXISTS `user` (

`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,

`name` varchar(255) NOT NULL,

`profile_id` integer NOT NULL UNIQUE

) ENGINE=InnoDB;

create table `profile`

-- --------------------------------------------------

-- Table Structure for `main.Profile`

-- --------------------------------------------------

CREATE TABLE IF NOT EXISTS `profile` (

`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,

`age` smallint NOT NULL

) ENGINE=InnoDB;

查詢不到

第二次再執行:

table `user` already exists, skip

table `profile` already exists, skip

查詢不到

如果 orm.RunSyncdb("default", false, true)改成 orm.RunSyncdb("default", false, false)

則執行結果不會提示。

go語言能只導入一個方法嗎

能。GO語言中每個包在項目中都有一個唯一的導入路徑,只能打入一個,這個導入路徑是使用唯一的字符串進行標識的。

GoLang -- Gin框架

? 何為框架:

框架一直是敏捷開發中的利器,能讓開發者很快的上手并做出應用,甚至有的時候,脫離了框架,一些開發者都不會寫程序了。成長總不會一蹴而就,從寫出程序獲取成就感,再到精通框架,快速構造應用,當這些方面都得心應手的時候,可以嘗試改造一些框架,或是自己創造一個。

Gin是一個golang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本。具有快速靈活,容錯方便等特點。其實對于golang而言,web框架的依賴要遠比Python,Java之類的要小。自身的net/http足夠簡單,性能也非常不錯。框架更像是一些常用函數或者工具的集合。借助框架開發,不僅可以省去很多常用的封裝帶來的時間,也有助于團隊的編碼風格和形成規范。

(1)首先需要安裝,安裝比較簡單,使用go get即可

go get github.com/gin-gonic/gin

如果安裝失敗,直接去Github clone下來,放置到對應的目錄即可。

(2)代碼中使用:

下面是一個使用Gin的簡單例子:

package main

import (

"github.com/gin-gonic/gin"

)

func main() {

router := gin.Default()

router.GET("/ping", func(c *gin.Context) {

c.JSON(200, gin.H{

"message": "pong",

})

})

router.Run(":8080") // listen and serve on 0.0.0.0:8080

}

簡單幾行代碼,就能實現一個web服務。使用gin的Default方法創建一個路由handler。然后通過HTTP方法綁定路由規則和路由函數。不同于net/http庫的路由函數,gin進行了封裝,把request和response都封裝到gin.Context的上下文環境。最后是啟動路由的Run方法監聽端口。麻雀雖小,五臟俱全。當然,除了GET方法,gin也支持POST,PUT,DELETE,OPTION等常用的restful方法。

Gin可以很方便的支持各種HTTP請求方法以及返回各種類型的數據,詳情可以前往查看。

2.1 匹配參數

我們可以使用Gin框架快速的匹配參數,如下代碼所示:

冒號:加上一個參數名組成路由參數。可以使用c.Param的方法讀取其值。當然這個值是字串string。諸如/user/rsj217,和/user/hello都可以匹配,而/user/和/user/rsj217/不會被匹配。

瀏覽器輸入以下測試:

返回結果為:

其中c.String是gin.Context下提供的方法,用來返回字符串。

其中c.Json是gin.Context下提供的方法,用來返回Json。

下面我們使用以下gin提供的Group函數,方便的為不同的API進行分類。

我們創建了一個gin的默認路由,并為其分配了一個組 v1,監聽hello請求并將其路由到視圖函數HelloPage,最后綁定到 0.0.0.0:8000

C.JSON是Gin實現的返回json數據的內置方法,包含了2個參數,狀態碼和返回的內容。http.StatusOK代表返回狀態碼為200,正文為{"message": “welcome"}。

注:Gin還包含更多的返回方法如c.String, c.HTML, c.XML等,請自行了解。可以方便的返回HTML數據

我們在之前的組v1路由下新定義一個路由:

下面我們訪問

可以看到,通過c.Param(“key”)方法,Gin成功捕獲了url請求路徑中的參數。同理,gin也可以捕獲常規參數,如下代碼所示:

在瀏覽器輸入以下代碼:

通過c.Query(“key”)可以成功接收到url參數,c.DefaultQuery在參數不存在的情況下,會由其默認值代替。

我們還可以為Gin定義一些默認路由:

這時候,我們訪問一個不存在的頁面:

返回如下所示:

下面我們測試在Gin里面使用Post

在測試端輸入:

附帶發送的數據,測試即可。記住需要使用POST方法.

繼續修改,將PostHandler的函數修改如下

測試工具輸入:

發送的內容輸入:

返回結果如下:

備注:此處需要指定Content-Type為application/x-www-form-urlencoded,否則識別不出來。

一定要選擇對應的PUT或者DELETE方法。

Gin框架快速的創建路由

能夠方便的創建分組

支持url正則表達式

支持參數查找(c.Param c.Query c.PostForm)

請求方法精準匹配

支持404處理

快速的返回給客戶端數據,常用的c.String c.JSON c.Data

Golang項目中引入yaml.v2配置文件

在Go語言項目中,常用的配置文件yaml、toml、json、xml、ini幾種,因為本章主要講解yaml配置文件的使用方法,其他幾種配置文件在這里就不展開了介紹了,大家有興趣可以自行百度。

yaml文件的語法網上有很多的教程,大家自行百度,這里也推薦兩個鏈接:

yaml文件解析使用的是github上第三方開源框架 gopkg.in/yaml.v2 ,下面詳細介紹安裝和使用的方法:

參考鏈接:

分享題目:go語言怎么導入框架 go語言菜鳥教程
文章起源:http://m.kartarina.com/article46/hgeoeg.html

成都網站建設公司_創新互聯,為您提供外貿建站網站內鏈響應式網站服務器托管營銷型網站建設外貿網站建設

廣告

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

網站托管運營
主站蜘蛛池模板: 无码人妻精品一区二区三区99不卡| 无码激情做a爰片毛片AV片| 亚洲另类无码一区二区三区| 人妻丰满熟妞av无码区| 亚洲日韩av无码中文| 亚洲无码黄色网址| 无码午夜成人1000部免费视频| 亚州AV综合色区无码一区| 久久久久无码国产精品不卡| 久久亚洲AV成人无码电影| 狠狠躁天天躁无码中文字幕图| 中文字幕人成无码免费视频| 亚洲日韩av无码| 丰满亚洲大尺度无码无码专线| 无码av免费网站| 国产成人A亚洲精V品无码| 无码不卡中文字幕av| 亚洲av无码片区一区二区三区| 中文字幕无码无码专区| 日韩中文无码有码免费视频| 无码福利一区二区三区| 无码国产福利av私拍| 中文字幕无码精品亚洲资源网| 无码综合天天久久综合网| 亚洲精品无码专区在线播放| 久久久久无码精品国产不卡 | 亚洲va中文字幕无码久久不卡| 色国产色无码色欧美色在线| 99无码精品二区在线视频| 精品日韩亚洲AV无码| 亚洲2022国产成人精品无码区| 一本加勒比HEZYO无码资源网| 亚洲中久无码不卡永久在线观看| 欧美性生交xxxxx无码影院∵| 伊人久久精品无码麻豆一区| 一夲道dvd高清无码| 亚洲AV无码专区在线电影成人| 亚洲精品无码专区| 日韩av片无码一区二区不卡电影| 国产怡春院无码一区二区| 全免费a级毛片免费看无码|