Snippet-Zusammenfassung bei der Entwicklung mit Go

Einführung

Ich werde kurz die Schnipsel zusammenfassen, die ich persönlich beim Programmieren mit Go verwende. Es gibt verschiedene Arten, von denen, die sehr oft verwendet werden, bis zu denen, die nur gelegentlich verwendet werden. Es sieht so aus, als ob es verwendet werden kann! !! !! Ich würde mich freuen, wenn Sie nur die vorstellen könnten, die Sie gedacht haben!

Snippet-Registrierung mit vscode

Zunächst werde ich kurz vorstellen, wie Snippets bei vscode registriert werden Code -> Preferences -> User Snippets スクリーンショット 2020-10-07 16.33.46.png ↓ Dann erscheint ein Bildschirm wie dieser, also klicken Sie auf "Los" スクリーンショット 2020-10-07 16.34.22.png ↓ Dann wird die folgende JSON-Datei angezeigt. Es ist also so, als würde man das Snippet hinzufügen, das Sie dort verwenden möchten スクリーンショット 2020-10-07 16.34.44.png

Snippet-Registrierungssyntax

Die Snippet-Registrierung kann mit der folgenden Syntax erfolgen

python


"Snippet-Titel": {
  "prefix": "Welche Art von Zeichen sollte als prädiktive Konvertierung eingegeben werden?", 
  "body": [
      "Welche Art von Zeichenfolge sollte ausgegeben werden?",
      "Wenn Sie ein Unternehmen eröffnen möchten, können Sie es öffnen, indem Sie es durch Kommas wie dieses getrennt eingeben",
  ],
  "description": "Ausführliche Erklärung"
},

Informationen zum Festlegen der Cursorposition

Sie können auch entscheiden, wo der Cursor gehalten werden soll, indem Sie nach Eingabe des Snippets das Zeichen "$ 1" eingeben. Zum Beispiel, wenn Sie das folgende Snippet erstellen

python


"Print to console": {
  "prefix": "fff",
  "body": ["fmt.Printf(\"==========%#v\\n\", $1)"],
  "description": "Protokollieren Sie, um die Bewegung zu überprüfen"
},

Nach der Verwendung von Snippet

python


fmt.Printf("==========%#v\n", )
                        //↑ Der Cursor kommt hierher

Wird kommen, um zu sagen

Über andere Sonderzeichen

Zeichen, das Sie einfügen möchten Einfügen
$ \\$
Tab \t
Doppeltes Zitat "
Einfaches Zitat '

Snippet

Debug-Druck

Dies ist ein Druck zum Debuggen. Es wird häufig verwendet, um den Inhalt der Struktur zu überprüfen und den Ort des Fehlers zu identifizieren.

python


"Print to console": {
  "prefix": "fff",
  "body": ["fmt.Printf(\"==========%#v\\n\", $1)"],
  "description": "Protokollieren Sie, um die Bewegung zu überprüfen"
},

fff

python


fmt.Printf("==========%#v\n", )

Strukturfunktion

Ich habe es erstellt, weil es zu ärgerlich ist, beim Erstellen einer Strukturmethode Klammern einzugeben. Ich persönlich benutze das auch

python


"func": {
  "prefix": "fc",
  "body": ["func ($1) $2($3)($4){", "\t$0", "}"],
  "description": "Erstellen Sie eine Funktion für struct"
},

fc

python


func () ()(){
	
}

package Geben Sie einfach "package" aus Es ist überraschend einfach!

python


"package": {
  "prefix": "pac",
  "body": "package",
  "description": "Ich möchte nicht einmal ein "Paket" schreiben"
},

pac

python


package

Tischgetriebener Test

Es wird sofort eine Vorlage für einen tabellengesteuerten Test erstellt. Es ist ziemlich ärgerlich, jedes Mal von 0 zu schreiben, also habe ich es ungefähr zuerst damit gemacht (Für einen tabellengesteuerten Test klicken Sie hier](https://qiita.com/takehanKosuke/items/cbfc88c4b7956adede79))

python


"test func": {
  "prefix": "fct",
  "body": [
    "func Test$1(t *testing.T) {",
    "\tt.Parallel()",
    "\tasserts := assert.New(t)",
    "\ttests := []struct{",
    "\t\tname string",
    "\t\tinput string",
    "\t\toutput string",
    "\t}{",
    "\t\t{",
    "\t\t\tname: \"\",",
    "\t\t\tinput: \"\",",
    "\t\t\toutput: \"\",",
    "\t\t},",
    "\t}",
    "\tfor _, td := range tests {",
    "\t\ttd := td",
    "\t\tt.Run(fmt.Sprintf(\"$1: %s\", td.name), func(t *testing.T) {",
    "\t\t})",
    "\t}",
    "}"
  ],
  "description": "Tabelle Testbasis"
},

fct

python


func Test(t *testing.T) {
	t.Parallel()
	asserts := assert.New(t)
	tests := []struct{
		name string
		input string
		output string
	}{
		{
			name: "",
			input: "",
			output: "",
		},
	}
	for _, td := range tests {
		td := td
		t.Run(fmt.Sprintf(": %s", td.name), func(t *testing.T) {
		})
	}
}

gomock Dies ist ein Befehl, den Sie definitiv in gomock schreiben werden, einer Scheinbibliothek, die häufig in go verwendet wird. Es ist nützlich, weil man leicht vergisst, wie man es zeichnet.

python


"Gomock template": {
  "prefix": "tgomock",
  "body": [
    "//Gomock-Einstellungen",
    "ctrl := gomock.NewController(t)",
    "defer ctrl.Finish()"
  ],
  "description": "Erstellen Sie ginContext zum Testen"
},

tgomock

python


//Gomock-Einstellungen
ctrl := gomock.NewController(t)
defer ctrl.Finish()

Testen Sie den Gin-Kontext

Dies ist ein Ausschnitt, der beim Schreiben eines Tests verwendet wird, der einen Gin-Kontext mit Gin enthält. Dies ist ein Framework von go (siehe hier für Details).

python


"test gin Context": {
  "prefix": "tgincontext",
  "body": [
    "//Generieren eines Gin-Kontexts für den Test",
    "ginContext, _ := gin.CreateTestContext(httptest.NewRecorder())",
    "req, _ := http.NewRequest(\"GET\", \"/\", nil)",
    "//req.Header.Add(\"Authorization\", td.inputHeader)",
    "//req.Header.Add(\"Authorization\", td.inputHeader)",
    "ginContext.Request = req"
  ],
  "description": "Anfängliche feste Phrase für Gomock"
},

tgincontext

python


//Generieren eines Gin-Kontexts für den Test
ginContext, _ := gin.CreateTestContext(httptest.NewRecorder())
req, _ := http.NewRequest("GET", "/", nil)
//req.Header.Add("Authorization", td.inputHeader)
//req.Header.Add("Authorization", td.inputHeader)
ginContext.Request = req

http Anfrage

Dies ist ein Snippet, das beim Überspringen von http-Anforderungen mit go verwendet wird. Es ist leicht zu vergessen, wie man Header und Parameter hinzufügt, deshalb erinnere ich mich immer daran, dies verwendet zu haben.

python


"HTTP GET request": {
  "prefix": "httpget",
  "body": [
    "url := \"\"",
    "req, err := http.NewRequest(\"GET\", url, nil)",
    "if err != nil{",
    "\treturn nil, err",
    "}",
    "//Header",
    "req.Header.Add(\"\", \"\")",
    "//Parameter abfragen",
    "params := req.URL.Query()",
    "params.Add(\"\",\"\")",
    "req.URL.RawQuery = params.Encode()"
  ],
  "description": "HTTP GET request"
}

httpget

python


url := ""
req, err := http.NewRequest("GET", url, nil)
if err != nil{
	return nil, err
}
//Header
req.Header.Add("", "")
//Parameter abfragen
params := req.URL.Query()
params.Add("","")
req.URL.RawQuery = params.Encode()

Am Ende

Persönlich sind Snippets feste Phrasen, aber viele von ihnen sind für Dinge gemacht, die dazu neigen, detaillierte Einstellungsmethoden zu vergessen. Ich denke, ich werde dies in Zukunft oft verwenden! Ich möchte nach Bedarf weitere Informationen hinzufügen!

Recommended Posts

Snippet-Zusammenfassung bei der Entwicklung mit Go
Zusammenfassung der Probleme bei der semantischen Segmentierung mit Pytorch
Zusammenfassung des Konvertierungsverhaltens von go json
Memorandum für die Migration mit GORM
Zusammenfassung der häufig mit asyncpg ausgeführten Vorgänge
Empfohlene Umgebung und Verwendung bei der Entwicklung mit Python
Hallo Welt mit allen Funktionen der Go-Sprache
Python mit Go
[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Zusammenfassung häufig verwendeter Befehle (mit kleinem Kommentar)
Zusammenfassung der Fehlerbehandlungsmethoden bei der Installation von TensorFlow (2)
Zusammenfassung der Referenzseiten beim Bearbeiten von Blender Script mit einem externen Editor (VS Code)
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Zusammenfassung der beim Extrahieren von Daten verwendeten Pandas-Methoden [Python]
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Zusammenfassung der Dinge, die bei der Verwendung von Pandas praktisch waren
Dinge zu tun, wenn Sie anfangen, sich mit Django zu entwickeln
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
Vorsichtsmaßnahmen bei der Berechnung mit Zeichenfolge für TmeStampType von PySpark
Zusammenfassung bei Verwendung von Fabric
Tensorflow / Keras-Zusammenfassung
Zusammenfassung der Verwendung von pyenv
Zusammenfassung der Zeichenfolgenoperationen
Funktionen der Go-Sprache
Zusammenfassung der Python-Argumente
Zusammenfassung der Testmethode
Formatübersicht der Formate, die mit gensim serialisiert werden können
Einstellungen beim Entwickeln von App Engine / Python-Apps mit VS-Code
Codefragmente, die häufig bei der Verarbeitung von Videos mit Google Colaboratory verwendet werden
Codefragmente, die häufig bei der Verwendung von BigQuery mit Google Colab verwendet werden
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Xpath-Zusammenfassung beim Extrahieren von Daten von einer Website mit Python Scrapy
Beispielcode-Zusammenfassung bei der Arbeit mit Google-Tabellen von Google Colab
Eine Sammlung von Methoden, die beim Aggregieren von Daten mit Pandas verwendet werden
Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen
[Memo muss hinzugefügt werden] Seite, die bei der Entwicklung mit GAE / P angezeigt wird
Bei der Entwicklung mit Ipython kann Scrapy nicht mehr gelesen werden
Hier finden Sie eine Zusammenfassung der Dinge, die beim Umgang mit komplexen Zahlen in Python hilfreich sein können