golang題目,下面屬於golang的關鍵字的是

本文目錄一覽:

面試問題總結(一)Golang

使用go語言的好處: go語言的設計是務實的, go在針對並發上進行了優化, 並且支持大規模高並發, 又由於單一的碼格式, 相比於其他語言更具有可讀性, 在垃圾回收上比java和Python更有效, 因為他是和程序同時執行的.

1. 進程, 線程, 協程的區別, 協程的優勢

2. 講一下GMP模型(重點)

3. Go的GC, 混合寫屏障(重點)

4. go的Slice和數組的區別, slice的擴容原理(重點)

5. 講一下channel,實現原理(重點)

6. 講一下Go的Map的實現原理, 是否線程安全, 如何實現安全(重點)

7. new 和 make 的區別

8. 說一下內存逃逸

9. 函數傳指針和傳值有什麼區別

10. goroutine之間的通信方式

11. 測試是怎麼做的(單元測試, 壓力測試)

12. 堆和棧的區別

golang排序問題求助

如果是只有這幾個的話 我們可以考慮自定義一個排序類型

func TestSort(t *testing.T) {

data := []string{“三級”, “一級”, “二級”}

rule := map[string]int{

“一級”: 1,

“二級”: 2,

“三級”: 3,

}

self := SelfSort{

Rule: rule,

Data: data,

}

sort.Sort(self)

fmt.Println(self.Data)

}

type SelfSort struct {

Rule map[string]int

Data []string

}

func (p SelfSort) Len() int           { return len(p.Data) }

func (p SelfSort) Less(i, j int) bool { return p.Rule[p.Data[i]] p.Rule[p.Data[j]] }

func (p SelfSort) Swap(i, j int)      { p.Data[i], p.Data[j] = p.Data[j], p.Data[i] }

如過很多 就是真的要比較中文的話, 就用這種

package mainimport (    “bytes”

“fmt”

“io/ioutil”

“sort”

“golang.org/x/text/encoding/simplifiedchinese”

“golang.org/x/text/transform”)//ByPinyin is customized sort interface to sort string by Chinese PinYintype ByPinyin []stringfunc (s ByPinyin) Len() int      { return len(s) }func (s ByPinyin) Swap(i, j int) { s[i], s[j] = s[j], s[i] }func (s ByPinyin) Less(i, j int) bool {

a, _ := UTF82GBK(s[i])

b, _ := UTF82GBK(s[j])

bLen := len(b)    for idx, chr := range a {        if idx bLen-1 {            return false

}        if chr != b[idx] {            return chr b[idx]

}

}    return true}//UTF82GBK : transform UTF8 rune into GBK byte arrayfunc UTF82GBK(src string) ([]byte, error) {

GB18030 := simplifiedchinese.All[0]    return ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(src)), GB18030.NewEncoder()))

}//GBK2UTF8 : transform  GBK byte array into UTF8 stringfunc GBK2UTF8(src []byte) (string, error) {

GB18030 := simplifiedchinese.All[0]

bytes, err := ioutil.ReadAll(transform.NewReader(bytes.NewReader(src), GB18030.NewDecoder()))    return string(bytes), err

}func main() {

b := []string{“哈”, “呼”, “嚯”, “ha”, “,”}

sort.Strings(b)    //output: [, ha 呼 哈 嚯]

fmt.Println(“Default sort: “, b)

sort.Sort(ByPinyin(b))    //output: [, ha 哈 呼 嚯]

fmt.Println(“By Pinyin sort: “, b)

}

copy from 網頁鏈接

golang面試題2之判斷字元串中字元是否全都不同

請實現 個演算法,確定 個字元串的所有字元【是否全都不同】。這 我們要求【不允

許使 額外的存儲結構】。 給定 個string,請返回 個bool值,true代表所有字元全都

不同,false代表存在相同的字元。 保證字元串中的字元為【ASCII字元】。字元串的

度 於等於【3000】。

這 有 個重點,第 個是 ASCII字元 , ASCII字元 字元 共有256個,其中128個是常

字元,可以在鍵盤上輸 。128之後的是鍵盤上 法找到的。

然後是全部不同,也就是字元串中的字元沒有重複的,再次,不準使 額外的儲存結

構,且字元串 於等於3000。

如果允許其他額外儲存結構,這個題 很好做。如果不允許的話,可以使 golang內置

的 式實現。

通過 strings.Count 函數判斷:

使 的是golang內置 法 strings.Count ,可以 來判斷在 個字元串中包含

的另外 個字元串的數量

還有不同的方法同樣可以實現,你了解嗎?

推薦go相關技術 專欄

gRPC-go源碼剖析與實戰_帶你走進gRPC-go的源碼世界-CSDN博客

golang 100題中的問題但是只有答案,想知道為什麼。

只把最終的函數放到defer棧中,因此

defer s.Add(1).Add(2) 等價於下面2句了

s..Add(1)

defer s.Add(2)

你可以試試

defer s.Add(2).Add(1).Add(4)

s.Add(3)

看看執行的結果是不是 2134

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160956.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 01:16
下一篇 2024-11-21 01:16

相關推薦

  • 使用Golang調用Python

    在現代軟體開發中,多種編程語言的協作是相當普遍的。其中一種使用場景是Golang調用Python,這使得在使用Python庫的同時,可以利用Golang的高性能和強大並發能力。這篇…

    編程 2025-04-29
  • 如何查看Python關鍵字

    Python是一種高級編程語言,具有很多有用的特性和優勢。在Python中,關鍵字被用於標識特定的語法結構。如果您正在學習Python編程,了解Python的關鍵字是非常重要的。在…

    編程 2025-04-29
  • 使用Golang創建黑色背景圖片的方法

    本文將從多個方面介紹使用Golang創建黑色背景圖片的方法。 一、安裝必要的代碼庫和工具 在開始創建黑色背景圖片之前,我們需要先安裝必要的代碼庫和工具: go get -u git…

    編程 2025-04-29
  • Python課程設計題目用法介紹

    Python是一門高級、面向對象的編程語言,廣泛應用於Web應用程序開發、人工智慧、數據科學、自動化測試等領域。Python基礎課程學習是每個Python學習者必須經歷的階段,而P…

    編程 2025-04-27
  • Python類定義關鍵字解析

    在Python中,類定義是代碼的重要組成部分。它允許程序員定義包含數據和函數的新類型。類定義的關鍵字在Python中是具有重要性的,它們包括class、def、self、__ini…

    編程 2025-04-27
  • Java final關鍵字詳解

    一、final關鍵字介紹 final是Java中一個非常重要的關鍵字,用來標識一個最終的變數、方法或類。 當一個變數被final修飾時,意味著一旦它被賦值,它的值將不能再改變。當一…

    編程 2025-04-25
  • 如何使用定義類的關鍵字

    一、什麼是定義類的關鍵字 在編程中,定義類的關鍵字是用來聲明並定義一個類的,類是將數據和函數封裝在一起形成的一種類型,通過類來實例化對象。在Python程序中,定義類的關鍵字是 c…

    編程 2025-04-25
  • Python 關鍵字參數的詳細闡述

    Python 是一種高級編程語言,在該語言中,使用關鍵字參數可以使得編寫的程序更加具有可讀性和可維護性。本文將從以下幾個方面對 Python 關鍵字參數進行詳細闡述。 一、定義關鍵…

    編程 2025-04-24
  • Golang中使用strings.Split函數進行字元串分割的方法

    一、Split函數的基本用法 字元串是編程中常見的數據類型,它們可以在程序中被處理、存儲和傳輸。在Go語言中,字元串也是一個基本的數據類型,而strings包提供了一些操作字元串的…

    編程 2025-04-23
  • 深入下探golang http server

    Go語言已經成為了軟體開發領域的熱門語言,它的高性能、應用廣泛、安全性好,使得它成為了眾多開發者心目中的首選編程語言。在眾多應用場景中,golang http server的應用非…

    編程 2025-04-23

發表回復

登錄後才能評論