Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert


Fabien

OK, das Hauptverkaufsargument von Go ist die einfache Kompilierung und die wunderbare Toolchain, aber als Neuling bin ich dort wirklich verloren und kann die Dokumentation zu diesem Punkt nicht verstehen.

Ich habe ein Stack-Toy-Beispiel in zwei Dateien (eine für die Typdefinition und Methoden, aufgerufen stack.go, eine für das Hauptprogramm, aufgerufen main.go), beide befinden sich in meinem GOPATH/src/stackerVerzeichnis.

  1. Wie soll jede Datei benannt werden? Hat es überhaupt eine Bedeutung? Gibt es mindestens eine Konvention? Eine obligatorische Benennung?
  2. Wie sollte der Paketname sein? Ich habe verstanden, dass sie den gleichen Paketnamen verwenden sollten, aber welcher? Ist es stacker?
  3. In main.go, wie soll ich die verwenden importRichtlinie zu importieren stack.go?

Ich habe viele Kombinationen ausprobiert, von denen bisher keine funktioniert hat.

Erik Aigner
  1. Sie können die Dateien nennen , wie Sie wollen, passen nur spezielle Endungen wie _testund _<arch>( _darwin, _unixusw.). Beachten Sie auch, dass Dateien mit dem Präfix .oder _nicht in das Paket kompiliert werden!
  2. Es wird empfohlen, dass Sie das Paket wie den Ordner benennen, in dem sich die Datei befindet, obwohl es möglich (aber verwirrend) ist, ein Paket in der Deklaration anders zu benennen package mypkg
  3. Befindet stack.gosich im selben Ordner / Paket wie main.go, müssen Sie nicht importieren. Alles, was in delcared stack.goist, ist bereits in verfügbar main.go, da es sich im selben Paket befindet.

Wenn stackerin eine ausführbare Datei kompiliert werden soll, sollten Sie verwenden package main.

Verwandte Artikel


Ich kann keinen Go-Code verstehen

user8645601: Während ich den Code des Pakets "net" las, fand ich einen Code wie diesen: // first returns the first address which satisfies strategy, or if // none do, then the first address of any kind. func (addrs addrList) first(strategy func(Addr) bool) Add

Ich kann nicht verstehen, wie man React Native verwendet

HuLu ViCa Ich habe eine Anmeldeansicht in einer React Native-Anwendung: import React, {useState, useContext, useEffect} from 'react'; import {View, StyleSheet} from 'react-native'; import {Button, TextInput, Headline} from 'react-native-paper'; import globalSt

Ich kann diesen folgenden Code nicht verstehen

touhidul islam kanon Ich verstehe nicht, wie diese sicheren Zufallszahlen in 1 konvertiert und automatisch in ein Array umgewandelt werden. SecureRandom secureRandom = new SecureRandom(); int [] array = new int[7]; for(int i=0; i<5;i++) { int random = 1+

Ich kann den folgenden Code nicht verstehen

Tarun Tanmay View listItemView = convertView; if(listItemView == null) { listItemView = LayoutInflater.from(getContext()).inflate( R.layout.list_item, parent, false); Ich kann den obigen Code nicht verstehen. Dieser Code ist e

Ich kann nicht verstehen, wie man Junit-Tests schreibt

Benutzer10973120 public Card(final int theValue, final int theSuit) { this.value = theValue; this.suit = theSuit; } /** * Returns the suit of this card. * @returns the suit, which is one of the constants Card.SPADES, * Card.HEARTS, Card.DIAMONDS,