原创 Go併發編程實戰筆記

一、Go語言的主要特徵 1.開放源代碼的通用計算機編程語言。 2.靜態類型、編譯形的語言,語法趨於校本化。 3.卓越的跨平臺支持,無需移植代碼。 4.全自動的垃圾回收機制,無需開發者干預。 5.原生的先進併發模型和機制。 6.擁有函數式編

原创 Golang面試題 數組和切片的區別

題目 寫出下面兩個程序的輸出結果: 1. package main import "fmt" func main() { a := [3]int{1, 2, 3} for k, v := range a { if k ==

原创 golang 面試題(十一)

1. 下面代碼輸出什麼? func calc(index string, a, b int) int { ret := a + b fmt.Println(index, a, b, ret) return ret

原创 golang 面試題(十三)interface內部結構和nil詳解

1.以下代碼打印出來什麼內容,說出爲什麼。 package main import ( "fmt" ) type People interface { Show() } type Student struct{} func

原创 golang 面試題(十二)chan緩存池

1.下面的迭代會有什麼問題? func (set *threadSafeSet) Iter() <-chan interface{} { ch := make(chan interface{}) go func() {

原创 golang 面試題(十一)defer執行順序、make默認值和append

1. 下面代碼輸出什麼? func calc(index string, a, b int) int {     ret := a + b     fmt.Println(index, a, b, ret)     return ret

原创 golang 面試題(八)斐波那契數列和迴文鏈表

1.斐波那契數列 代碼: package fib //求斐波那契數列第n項 func PrintFib(n int)int { if n <= 0 { return 0 } if n >= 3 { return Prin

原创 golang 面試題(九)冒泡排序和二分查找

1.冒泡排序 代碼: package bubblingSort //冒泡排序 func BubblingSort(parameter []int)[]int { for i := 0; i < len(parameter); i++

原创 golang 面試題(十)協程交替打印奇偶數

問題: 兩個協程交替打印1-100的奇偶數,一個協程打印奇數,一個協程打印偶數。   代碼1: package main import ( "fmt" "runtime" "time" ) func main() { //設

原创 golang 面試題(七)小米麪試題,字符串

題目1: 給出一個字符串s(僅含有小寫英文字母和括號)。 請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字符串,並返回最終的結果。 注意,您的結果中  不應  包含任何括號。 示例1: 輸入:s = "(abcd)" 輸出:"dc

原创 golang 面試題(六)select

下面代碼會觸發異常嗎?請詳細說明 func main() { runtime.GOMAXPROCS(1) int_chan := make(chan int, 1) string_chan := make(cha

原创 golang 面試題(五)switch,break和fallthrough

1.glang中的switch,不用添加break java代碼: package test; public class TestRunnable{ public static void main(String[] args)

原创 golang 面試題(四)go的組合繼承

1. 下面代碼會輸出什麼? type People struct{} func (p *People) ShowA() { fmt.Println("showA") p.ShowB() } func (p *Peopl

原创 golang 面試題(二)閉包

下面的代碼會輸出什麼,並說明原因: //代碼1 package main import ( "fmt" "runtime" "time" ) func main() { //設置最大的可同時使用的 CPU 核數 爲1

原创 golang 面試題(三)管道chan

某網站的面試題:   鏈接:http://www.coder55.com/article/34958   首先執行了一下,確實死鎖,如圖: 按題目要求添加代碼: 第一次執行: 第二次: 第三次: 第六次: 因爲線程執行順序並不