Q
解釋此Go語句
2
A
回答
10
在該聲明中,您有三件事情是不同的語言特性,它們都在一起工作。
return
從函數<-reply
返回一個值讀取從信道命名答覆var.(type)
值斷言接口包含類型。
因此,把它們放在一起,你從應答通道讀取一個接口值,聲明該值是一個整數,然後返回該整數值。
9
The Go Programming Language Specification
對於信道類型的操作數通道,接收操作 < -ch的值是從信道ch接收到的值。通道方向 必須允許接收操作,並且接收操作的類型 是通道的元素類型。表達式阻塞直到 值可用。從零通道接收永遠阻止。 A 在關閉的信道上接收操作始終可以立即進行, 在收到之前發送的任何 值之後生成元素類型的零值。
v1 := <-ch v2 = <-ch f(<-ch) <-strobe // wait until clock pulse and discard received value
甲接收在 特殊形式
x, ok = <-ch x, ok := <-ch var x, ok = <-ch
的分配或初始化中使用表達式產生一個額外的無類型布爾結果報告 通信是否成功。如果收到的值 通過成功的發送操作傳送到通道,則ok的值爲true;如果由於通道關閉而產生零值,並且 爲空,則值爲 。
對於X接口類型的表達式和類型T,主 表達
x.(T)
斷言x不爲零,並且存儲在x中的值的類型的T. 符號x。(T)被稱爲類型斷言。
如果類型聲明成立,則表達式的值是存儲在x中的值 ,並且其類型爲T.如果類型聲明爲false,則會發生運行時混亂。換句話說,即使動態類型 x只在運行時才知道,x。(T)的類型在 正確的程序中已知爲T.
「返回」語句在函數F終止樓 的執行,並可選地提供一個或多個結果值。 F推遲的任何函數 在F返回給調用者之前執行。
對於return (<-reply).(int)
,
<-reply
接收來自信道reply
的值。
(<-reply).(int)
聲稱從通道reply
收到的值的類型爲int
。
return (<-reply).(int)
返回從通道reply
收到的值int
並終止該功能或方法。
相關問題
- 1. 解釋此語法錯誤
- 2. 解釋MySQL的SELECT語句
- 3. 解釋這個MySQL語句
- 4. 如何解釋printf語句?
- 5. T-SQL IF語句解釋
- 6. 如何解釋此插入語句涉及current_date
- 7. 對此語句的解釋「list1.sort(key = lambda v:(-v [1],v [0]))」
- 8. 解釋此函數的語法
- 9. Bash腳本,請解釋此語法
- 10. 如何解釋此Javascript語法
- 11. 如果語句與Go
- 12. T-SQL GO語句n次
- 13. T-SQL GO UPDATE語句
- 14. 解釋此宏
- 15. 解釋此lambda
- 16. 如何使用SqlConnection執行帶註釋和GO語句的SQL?
- 17. 一行if語句行爲的解釋?
- 18. 解釋這些選擇語句!
- 19. 奇怪的printf和puts語句解釋
- 20. 請解釋這個jQuery語句
- 21. 什麼是下面的語句解釋
- 22. 需要JavaScript語句解釋('this'and'event')
- 23. 解釋MySQL嵌套的SELECT語句
- 24. 解釋此行爲
- 25. 解釋此查詢
- 26. 尋找此Select語句的Delete語句
- 27. 語法解釋
- 28. 語法解釋
- 29. Go中的解釋字符串文字
- 30. 在Go中解釋類型斷言