Maison >développement back-end >Golang >Partagez quelques connaissances d'introduction à Go pour PHPer
Tutoriel Partagez quelques connaissances dintroduction à Go pour PHPerlang"
MacOS
J'utilise un Mac, donc installez via Homebrew : . Si Homebrew n’est pas installé sur votre Mac, je le recommande vivement. brew install go
Windows et Linux
Le site officiel de Partagez quelques connaissances dintroduction à Go pour PHPer propose des ressources de téléchargement pour chaque système d'exploitation, y compris le programme d'installation « Next Next » pour les systèmes Windows.Démarrer
Dans Partagez quelques connaissances dintroduction à Go pour PHPer, le code source de tous les projets est enregistré dans un seul répertoire : GOPATH. Par défaut, GOPATH est défini sous go dans le répertoire personnel, tel que. Il existe des répertoires /Users/andrewdavis/go
et bin
sous GOPATH. Le répertoire src
stocke les dépendances que vous avez téléchargées sous forme binaire. Vous pouvez ajouter le répertoire bin
à votre variable d'environnement PATH. Vous pouvez éditer le fichier .bashrc/.zshrc dans le terminal et ajouter bin
. Pour apprendre Partagez quelques connaissances dintroduction à Go pour PHPerlang, vous pouvez exécuter la commande export PATH=$PATH:$(go env GOPATH)/bin
dans le terminal pour télécharger le guide de programmation Partagez quelques connaissances dintroduction à Go pour PHPer go get golang.org/x/tour/gotour
téléchargera le code source et les fichiers binaires des dépendances tierces spécifiées dans les paramètres. Vous pouvez maintenant exécuter go get
dans le terminal et il démarrera un serveur Web et ouvrira automatiquement l'accès au navigateur. gotour
dans le GOPATH : src
. Ouvrez ce dossier mkdir -p $GOPATH/src/helloworld
et créez un dossier nommé principal, cd $GOPATH/src/helloworld
. Dans ce fichier, entrez ce qui suit : touch main.go
package main import "fmt" func main() { fmt.Println("Hello world!") }Le point de départ de tous les programmes Partagez quelques connaissances dintroduction à Go pour PHPer est la fonction principale du package principal. Ensuite, vous pouvez exécuter
pour exécuter le programme. Vous pouvez également exécuter go run main.go
et le programme sera compilé et placé dans le répertoire go install
, vous pourrez donc exécuter bin
dans le terminal et il exécutera votre code. helloworld
Différences clés par rapport à PHP
Maintenant que vous avez configuré un projet, vous pouvez commencer à explorer les différentes fonctionnalités de Partagez quelques connaissances dintroduction à Go pour PHPer. La première chose que vous remarquerez est que les points-virgules ne sont pas obligatoires dans Partagez quelques connaissances dintroduction à Go pour PHPer. La fin d'une instruction est détectée par une nouvelle ligne. Voici quelques différences supplémentaires qui m'ont pris du temps à comprendre :Variables
Partagez quelques connaissances dintroduction à Go pour PHPer est un langage statique et fortement typé, donc chaque variable a une affectation. Donnez-lui le taper. Les variables dans les fonctions sont affectées à l'aide de , qui attribue automatiquement le type à la variable : :=
Pour créer une variable qui ne définit aucune donnée ou pour créer une variable en dehors de la fonction, vous devez utiliser le mot-clé var : <.>. name := "Andrew" // name 现在是一个字符串
var name string
L'instruction if fonctionne de la même manière qu'en PHP, mais elle ne nécessite pas de parenthèses pour entourer la condition. Cette différence m'a d'abord fait penser à Confused when. lire le code dans Partagez quelques connaissances dintroduction à Go pour PHPer. Cependant, je pense que cela rend le code plus lisible.
package main import "fmt" func main() { value := false if value { fmt.Println("Value is true") } else { fmt.Println("Value is false") } }Packages vs Namespaces
Partagez quelques connaissances dintroduction à Go pour PHPer 使用术语 Strings 在 Partagez quelques connaissances dintroduction à Go pour PHPer 中,所有字符串必须用双引号包围。Partagez quelques connaissances dintroduction à Go pour PHPer 中的一个单引号值代表一个 Structs vs Classes Partagez quelques connaissances dintroduction à Go pour PHPer 没有像 PHP 的 你可以通过在函数名称之前引用结构体来为该结构体添加方法。 然后您可以通过在结构体名称后用大括号传递其初始值来实例化一个结构体. 使用 若要创建一个方法修改结构体实例, 该方法必须引用指向结构体的指针: 错误 在 Partagez quelques connaissances dintroduction à Go pour PHPer 中,错误并不会视为异常。没有 Final 当然,Partagez quelques connaissances dintroduction à Go pour PHPer 还有很多东西要学,但是希望这能帮助你更好的开始。学习 Partagez quelques connaissances dintroduction à Go pour PHPer 的很好的资源有很多。对我最有帮助的是 Partagez quelques connaissances dintroduction à Go pour PHPer 文档 和 Partagez quelques connaissances dintroduction à Go pour PHPer By Example。如果你有任何想法或问题,请留下评论。 谢谢阅读! 原文地址:https://dev.to/restoreddev/introduction-to-go-for-php-developers-33ko 译文地址:https://learnku.com/go/t/46321package
来为其内容创建命名空间。如果你的 Partagez quelques connaissances dintroduction à Go pour PHPer 代码中有一个名为 controllers
的文件夹,在这个文件夹下的所有文件都需要以 package controllers
开头。想要在其他包内导入控制器,你需要使用 import "helloworld/controllers"
。包内任何以大写字母开头的名称都可以用在其他包中。 如果在 controllers
中有一个名为func HelloWorld ()
的函数,你可以在 controllers
导入之后使用 controllers.HelloWorld()
来执行这个函数。任何以小写字母开头的名称只能在包内使用。不需要 private
或 public
进行声明。rune
(一个 Unicode字符)。习惯性的,我会使用单引号声明字符串,因为这是 PHP 中的常见做法。使用双引号声明字符串会需要一段时间调整。var name = "Andrew"
var copy = '©'
class
语法. 取而代之的, 它使用结构体对自定义数据结构建模. 你可以像下面这样声明一个结构体:package main
type Cup struct {
name string
color string
volume int
}
func (c Cup) nameAndColor() string {
return c.name + ": " + c.color
}
.
来调用结构体的方法.func main() {
c := Cup{name: "Solo", color: "Red", volume: 12}
c.nameAndColor() // 返回 "Solo: Red"
}
func (c *Cup) crush() {
c.volume = 0
}
try
或 catch
的机制。作为替代,如果发生错误,需要从函数内返回错误。Partagez quelques connaissances dintroduction à Go pour PHPer 支持一个函数返回多个值。如果调用的函数可能会返回错误,你必须检测这个错误是否存在,然后处理这个错误。package main
import "fmt"
func GetName(name string) (string, error) {
if name == "Bob" {
return "", fmt.Errorf("Name cannot be Bob")
}
return name, nil
}
func main() {
name, err := GetName("Bob")
if err != nil {
fmt.Println("Uh-oh an error has occurred")
}
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!