理由: プログラムのすべてのコードを 1 つのソース コード ファイルにまとめるのは無理があり、関連するコードは別のファイルで管理する必要がありますが、プログラム ファイルの数が増えると、何らかの方法が必要になります。ファイルを整理して管理するための./フォーム そこで、Go では「パッケージ」という概念が導入されました。パッケージとは、プログラムの機能・属性を「分散管理」し、「統一的に利用」するための論理的な組織形態です。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
パッケージの紹介
go 言語を使用して開発したプログラム ファイルは、ソース コード ファイルと呼ばれます (ソース コード ファイルは .go で終わる必要があります)。もちろん、プログラムのすべてのコードを 1 つのソース コード ファイルにまとめるのは無理があり、関連するコードは別のファイルで管理する必要がありますが、プログラム ファイルが増加するにつれて、整理して管理する方法/形式が必要になります。ファイルを作成するため、Go が導入した「パッケージ」の概念を理解します。
パッケージは Go 言語によって提供される仮想概念であり、一貫したパッケージ宣言を持つ複数のソース コード ファイルは論理的にまとめられ、同じパッケージに属します。
Go 言語パッケージは、ディレクトリ ツリーの編成形式を使用します。一般に、パッケージの名前は、そのソース ファイルが配置されているディレクトリの名前です。ただし、Go 言語では、パッケージ名は、それが配置されているディレクトリ名と同じ名前である必要がありますが、構造をより明確にするために、パッケージ名はそれが配置されているディレクトリと同じ名前にすることをお勧めします。
パッケージは非常に深いディレクトリに定義できます。パッケージ名の定義にはディレクトリ パスは含まれませんが、パッケージを参照する場合は通常、フル パスが使用されます。たとえば、GOPATH/src/a/b/ にパッケージ c を定義します。パッケージcのソースコードでは、パッケージa/b/cではなくパッケージcとして宣言するだけですが、パッケージcをインポートする際にはimport "a/b/c"のようにパスを持ってくる必要があります。 。
パッケージの慣用的な使用法:
パッケージ名は通常小文字で、短くて意味のある名前を使用します。
パッケージ名は通常、パッケージが配置されているディレクトリと同じ名前ですが、異なる名前にすることもできます。パッケージ名には、- などの特殊記号を含めることはできません。
パッケージは通常、ドメイン名をディレクトリ名として使用するため、パッケージ名の一意性が確保されます。たとえば、GitHub プロジェクトのパッケージは通常、GOPATH/src/github に配置されます。 .com/userName/projectName ディレクトリ。ダウン。
main という名前のパッケージはアプリケーションのエントリ パッケージです。メイン パッケージが含まれていないソース コード ファイルをコンパイルすると、実行可能ファイルは取得されません。
フォルダー内のすべてのソース コード ファイルは、同じパッケージにのみ属することができます。同じパッケージに属するソース コード ファイルを複数のフォルダーに配置することはできません。
# (1) パッケージの宣言、パッケージのインポート パス、注意事項 #
//一:包的声明 // 1、每个源码文件都必须在文件头处声明自己归属的包。 package 包名 // 包名一般总是用小写字母 // 2、包名任意,包名一致的属于同一个包 // 3、包是编译和归档Go程序的最基本单位,一个包中的多个源码文件是一个不可分割的整体 //二:包的导入路径 强调强调强调!!!!!! 包是一个把多个源码文件归一到一起管理的虚拟单位,一定要记住,它只是一个虚拟的概念而已,而实实在在地讲,多个源码文件是要放置到一个实实在在的文件夹下的,这个实实在在的文件夹所处的路径是包的导入路径。包的导入路径很重要,他是包的"家庭住址",是用来找到包的(用在import语句中,稍后介绍),但它绝不等同于包的概念 //三:注意的问题 1、一个文件夹下只能放置一个包,也就是所一个文件夹下放置的多个源码文件的包声明必须一致,go以此来确保一个路径就唯一定位到唯一的一个包。 2、包虽然与文件夹路径是截然不同的意思,但是为了方便记忆,包通常应该声明为文件夹的名字 例如文件夹路径/a/b/c/mypkg,包名应声明为package mypkg,mypkg就为包名
(2) パッケージの区別と配置
パッケージは仮想的かつ論理的な概念ですが、パッケージによって構成された複数のソース コード ファイルは実際に存在するため、パッケージを配置する必要があります。特定のフォルダー。注意:以降の記述を簡単にするため、作成者はパッケージごとに整理された複数のソース コード ファイルの保存場所をパッケージの保存場所として直接参照します。これは承知しております。 メイン パッケージにはプログラムのエントリ ポイントが含まれており、主にプログラムを実行するために使用されます。いずれの場合も、メイン パッケージは任意のフォルダーに配置できます。 作者は、メイン パッケージ以外のパッケージを他のパッケージと呼び、特に組み込みパッケージ、カスタム パッケージ、およびダウンロードされたサードパーティ パッケージを指します。その他のパッケージは本体パッケージとは異なり、主にインポートして使用するもので、配置場所は以下のとおりです// 内置包 内置包固定被放置在`$GOROOT/src/`下,与任何模式无关 // 自定义包 在未启用modules模式的情况下,自定义包需要放置在GOPATH指定的任意目录下的src中 // 下载的第三方包 在未启用modules模式的情况下,使用go工具链命令下载的第三方包总是默认被存放到GOPATH的第一个目录的src下 // 强调一下 在早期的Go环境中,自定义的包与下载的第三方包都是放到了$GOPATH/src下,因为早期Go采用的是和GOPATH模式,而且即便是在GO1.14.2版本中,在我们还未学习如何使用任何新模式前,默认使用的仍是GOPATH模式ps:1 組み込みパッケージは作者の愛称です標準パッケージの場合
2. GOPATH ワークスペースに格納されるパッケージは正式にはワークスペース パッケージ
// 1、一个源码文件中声明的函数、类型、变量和常量等标识符/名字对同一包中的所有其他源码文件都可见,不需要加任何前缀即可引用,因为代码包只是一种组织管理源码文件的形式,同一个包下的多个源码文件本就属于一个整体,事实上我们完全可以将一个包当成一个”大文件“去看,毫无疑问这个”大文件“中声明的标识符/名字不能重名 // 2、包名很关键 名为main的包可简称为”main包“,是程序的入口,go程序运行时会查找main包下的main函数,main函数既没有参数声明也没有结果声明,见下图 名不为main的包可称之为”其他包“,是程序的功能/属性集合,此类包用来被其他包导入使用,为何此时包名仍然很关键呢?因为我们导入时用的是导入路径(指的是包所在的路径,该路径不是绝对路径,稍后介绍),但是使用的则可能会使用"包名.xxx"
以上がGo 言語がコードをパッケージにまとめるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Golangは迅速な発展と同時プログラミングに適していますが、Cは極端なパフォーマンスと基礎となる制御を必要とするプロジェクトにより適しています。 1)Golangの並行性モデルは、GoroutineとChannelを介した同時性プログラミングを簡素化します。 2)Cのテンプレートプログラミングは、一般的なコードとパフォーマンスの最適化を提供します。 3)Golangのごみ収集は便利ですが、パフォーマンスに影響を与える可能性があります。 Cのメモリ管理は複雑ですが、コントロールは問題ありません。

speed、効率、およびシンプル性をspeedsped.1)speed:gocompilesquilesquicklyandrunseffictient、理想的なlargeprojects.2)効率:等系dribribraryreducesexexternaldedenciess、開発効果を高める3)シンプルさ:

Cは、ハードウェアリソースと高性能の最適化が必要なシナリオにより適していますが、Golangは迅速な開発と高い並行性処理が必要なシナリオにより適しています。 1.Cの利点は、ハードウェア特性と高い最適化機能に近いものにあります。これは、ゲーム開発などの高性能ニーズに適しています。 2.Golangの利点は、その簡潔な構文と自然な並行性サポートにあり、これは高い並行性サービス開発に適しています。

Golangは実際のアプリケーションに優れており、そのシンプルさ、効率性、並行性で知られています。 1)同時プログラミングはゴルチンとチャネルを通じて実装されます。2)柔軟なコードは、インターフェイスと多型を使用して記述されます。3)ネット/HTTPパッケージを使用したネットワークプログラミングを簡素化、4)効率的な同時クローラーを構築する、5)ツールと最高の実践を通じてデバッグと最適化。

GOのコア機能には、ガベージコレクション、静的リンク、並行性サポートが含まれます。 1. GO言語の並行性モデルは、GoroutineとChannelを通じて効率的な同時プログラミングを実現します。 2.インターフェイスと多型は、インターフェイスメソッドを介して実装されているため、異なるタイプを統一された方法で処理できます。 3.基本的な使用法は、関数定義と呼び出しの効率を示しています。 4。高度な使用法では、スライスは動的なサイズ変更の強力な機能を提供します。 5.人種条件などの一般的なエラーは、Getest Raceを通じて検出および解決できます。 6.パフォーマンス最適化Sync.Poolを通じてオブジェクトを再利用して、ゴミ収集圧力を軽減します。

GO言語は、効率的でスケーラブルなシステムの構築においてうまく機能します。その利点には次のものがあります。1。高性能:マシンコードにコンパイルされ、速度速度が速い。 2。同時プログラミング:ゴルチンとチャネルを介してマルチタスクを簡素化します。 3。シンプルさ:簡潔な構文、学習コストとメンテナンスコストの削減。 4。クロスプラットフォーム:クロスプラットフォームのコンパイル、簡単な展開をサポートします。

SQLクエリの結果の並べ替えについて混乱しています。 SQLを学習する過程で、しばしば混乱する問題に遭遇します。最近、著者は「Mick-SQL Basics」を読んでいます...

テクノロジースタックの収束とテクノロジーの選択の関係ソフトウェア開発におけるテクノロジーの選択、テクノロジースタックの選択と管理は非常に重要な問題です。最近、一部の読者が提案しています...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
