如何在 Golang 中使用常數
Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。
在Go語言中,select語句類似於switch語句,但是select語句中的case語句指的是通信,即在channel上進行發送或者接收操作。
句法:
select{
case SendOrReceive1: // Lệnh
case SendOrReceive2: // Lệnh
case SendOrReceive3: // Lệnh
.......
default: // Lệnh
在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用Golang select 指令時出現死鎖的情況是什麼?
關於 Golang 中死鎖案例你需要知道的事情
死鎖:當您嘗試從通道讀取或寫入資料但通道為空時。因此它會阻塞當前 goroutine 的執行並將控制權交給其他 goroutine,但如果沒有其他 goroutine 可用或其他 goroutine 由於這種情況而處於休息狀態,程式就會崩潰。這種現象稱為死鎖。如下例所示:
例如:
// Chương trình Go minh hoạc
// cách deadlock phát sinh
package main
// Hàm chính
func main() {
// Tạo một kênh
// Deadlock phát sinh bởi
// không có goroutine đang viết
// vào kênh này, vì thế
// lệnh select đã bị khóa mãi mãi
c := make(chan int)
select {
case <-c: }="" }="">
結果:
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
為了避免這種情況,我們在 select 語句中使用預設情況。也就是說,當程式出現死鎖時,會執行select語句的default case,以避免死鎖。如下例所示,我們在 select 語句中使用預設情況來避免死鎖。
例如:
// Chương trình Go minh họa cách giải quyết
// vấn đề deadlock bằng case mặc định
package main
import "fmt"
// Hàm chính
func main() {
// Tạo 1 kênh
c := make(chan int)
select {
case <-c: default:="" fmt.println("!..="" default="" case..!")="" }="" }="">
結果:
!.. Default case..!
當select語句只有一個nil channel時,您也可以使用預設情況。如下例所示,channel c 為 nil,所以會執行 default case,如果這裡的 default case 不可用,那麼程式就會一直阻塞,出現死鎖。
例如:
// Chương trình Go minh họa
// chạy case mặc định
package main
import "fmt"
// Hàm chính
func main() {
// Tạo một kênh
var c chan int
select {
case x1 := <-c: fmt.println("value:="" ",="" x1)="" default:="" fmt.println("default="" case..!")="" }="" }="">
結果:
Default case..!
Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。
Go 中的可變函數可讓您向函數傳遞可變數量的參數。以下是您需要了解的有關 Golang 中的易失性函數的所有資訊。
在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。
關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。
資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:
Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。
在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。
Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。
Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。
Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。
運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。
Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。
你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。
Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。
Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。
使用 Facebook 時,有時您的帳號會被駭客入侵、遺失密碼,甚至遺失您的 Facebook 註冊電子郵件。那麼,當您遺失密碼和註冊電子郵件時,如何恢復您的 Facebook 帳號?
當我們可以使用虛假訊息創建應用程式或使用一些完全免費創建虛假訊息的網站時,製作虛假訊息來欺騙人們非常簡單。
代碼終極進化賽賽亞人為玩家提供了一系列有吸引力的獎勵,並感謝他們在遊戲初期的鑽石、經驗、經驗膠囊、黃金、角色碎片等
Instagram 最近將個人資料網格佈局更改為 4:5 垂直預覽。並且用戶可以自訂預覽圖像以聚焦他們想要的內容。
Code Monkey King 為玩家提供一系列誘人的獎勵,例如貨幣、5 星隨機角色碎片、九轉金丹、隨機資源包
當您想到 Microsoft Word 時,您會想到什麼?文件?恢復?雖然這些肯定是它的主要用途,但 Word 也是一個令人驚訝的多功能工具,可用於各種創意專案。
WhatsApp 已將 WhatsApp 狀態中標記好友的功能更新至 Android 和 iOS 版本的所有帳號。
喜歡咖啡想嘗試製作自己的咖啡雞尾酒嗎?因此以下的文章將為您總結製作簡單、美味且誘人的咖啡雞尾酒的食譜。
雖然《死神》系列中有很多角色被認為是可識別的,但這並不一定意味著他們從頭到尾都有相同的外觀。以下是外表發生顯著變化的《死神》角色。
我們都遇到過這種情況:點擊 Chrome 圖標,然後等待瀏覽器啟動。等待主頁加載似乎永遠是令人沮喪的。
在某些三星 Galaxy 手機上,有一個從相簿中的照片創建貼紙的選項,允許用戶自由創建用於資訊中的貼紙。
當任務管理器未運行時,使用者無法使用它。以下是修復 Windows 11/10 PC 上任務管理器無法運作的方法。
最新的 Code Dau Than Tuyet The 為玩家提供硬幣、金錠和許多其他物品,包括 Nguyen Phach、禮品盒、箱子、Trac Viet 石…
傳奇龍神的禮包獎勵主要為金幣和鑽石。除此之外還有一些獎勵箱、石頭、恢復物品…