理由: プログラムのすべてのコードを 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 サイトの他の関連記事を参照してください。

テキストデータを処理するためのツールを提供し、基本的な文字列から高度な正規表現のマッチングにスプライシングするためのツールを提供するため、Goの「文字列」パッケージに注意する必要があります。 1)「文字列」パッケージは、パフォーマンスの問題を回避するために文字列をスプライスするために使用される結合関数など、効率的な文字列操作を提供します。 2)contensany関数などの高度な関数が含まれており、文字列に特定の文字セットが含まれているかどうかを確認します。 3)交換関数は、文字列のサブストリングを交換するために使用され、交換順序とケースの感度に注意を払う必要があります。 4)分割関数は、セパレーターに従って文字列を分割することができ、しばしば正規表現処理に使用されます。 5)使用するときは、パフォーマンスを考慮する必要があります。

GOでBYTESパッケージをマスターすると、コードの効率と優雅さを向上させることができます。 1)バイナーズパッケージは、バイナリデータの解析、ネットワークプロトコルの処理、およびメモリ管理に不可欠です。 2)bytes.bufferを使用して、バイトスライスを徐々に構築します。 3)BYTESパッケージは、バイトスライスの検索、交換、およびセグメント化の関数を提供します。 4)BYTES.READERタイプは、特にI/O操作でのバイトスライスのデータを読み取るのに適しています。 5)BYTESパッケージは、GoのGarbage Collectorと協力して機能し、ビッグデータ処理の効率を向上させます。

Goで「文字列」パッケージを使用して、文字列を操作できます。 1)文字列を使用して、文字列の両端で白文字を削除します。 2)文字列を使用して、指定された区切り文字に従って文字列をスライスに分割します。 3)文字列スライスを文字列から1つの文字列にマージします。 4)文字列を使用して、文字列に特定のサブストリングが含まれているかどうかを確認します。 5)文字列を使用して、グローバルな交換を実行します。使用するときは、パフォーマンスと潜在的な落とし穴に注意してください。

検索、分割、結合、およびバッファリングを提供するために、ビートレスリックマニピュレーションのために強力に効果的に効果的に効果的に効果的です

thealternativestogo'sbyteSpackageincludeStringspackage、bufiopackage、andcustomstructs.1)thestringspackagecanbeusedby byconvertingbytestostostringsand.2)TheBufiopackageisidealforhhnetlimagreatreamsofreamSoftaefftaefftaimefiditipry.3)

「バイト」パッケージを積極的に構成することは、lices、重要なもの、ネットワークプロトコル、およびfilei/o.itofferslargedatasets、readerforsimulatingstreamreading、およびjo inforffffishideの調整、およびバッファーフォーハンドリングラーゲットアセット、およびバッファリングリケートのfunctionsfunctionsfunctionslei/o

Go'sstringspackageiscialforefficientsmanipulation、offeringtoolslikestrings.split()、strings.join()、strings.replaceall()、andstrings.contains()


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

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