前言
作爲一名PHP程序員,我感到榮幸。但在時代不斷的變遷中,要具備足夠的知識才可生存。
那就從Go語言學起把。
希望看到本篇文章的你可以對Go有一個基本的認識。本系列文章與我自己學習Go語言的方式去描述。以PHP代碼與Go代碼的對比加以區分理解。
Go沒有類的概念,本章在語法使用上來對比PHP與Go之間的區別。
聲明類
PHP
class User{}
Go
type User struct{}
成員變量
PHP
class User{
public $name;
public $age;
}
Go
type User struct {
username string
age int
}
變量修飾
PHP
class User{
public $name;
private $age;
}
Go
// 沒有看錯,Go中沒有保護(protected),變量名首字母大寫爲public,小寫爲private
type User struct {
Username string
Age int
}
成員方法
PHP
class User{
public $name;
public $age;
function setName(){
}
function getName(){
}
}
Go
type User struct {
username string
age int
}
func (u User) setName(name string) bool {
u.username = name
return true
}
func (u User) getName() string {
return u.username
}
初始化
PHP
// php 沒有構造方法的話,新建對象無需傳參數
new User();
Go
// go 內結構體聲明的變量是可選參數,既可傳可不傳,go既沒有類概念,所以也沒有構造方法。
User{"zhangsan",15}
使用
PHP
$user = new User();
$user->getName();
Go
u := User{"zhangsan",15}
fmt.Println(u.getName())
致謝
感謝你看到這裏,希望本篇文章可以幫到你。謝謝