博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP To Go 转型手记 (二)
阅读量:6597 次
发布时间:2019-06-24

本文共 1666 字,大约阅读时间需要 5 分钟。

clipboard.png

前言

作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。

那就从Go语言学起把。

希望看到本篇文章的你可以对Go有一个基本的认识。本系列文章与我自己学习Go语言的方式去描述。以PHP代码与Go代码的对比加以区分理解。

加载

PHP

namespace Actionuse Action

Go

package Actionimport "action"

数组

PHP

// 初始化$arr = []$arr = array()// 初始化赋值$arr = [1,2,3]// 多维数组$arr = [][]// 获取值echo $arr[1]// 获取数组总数echo length($arr)// 获取数组区间$a=array("red","green","blue","yellow","brown");print_r(array_slice($a,1,2));// 设置key=>value$arr = ["username"=>"zhangsan","age"=>13]// 删除指定下标unset($arr[0])

Go 数组 & 切片 (切片是数组的一个View,就例如MySQL的视图一样)

// 初始化var arr [5]int// 初始化赋值arr := [5]int{1, 2, 3, 4, 5}// 无需声明数组个数arr := [...]int{1, 2, 3, 4, 5, 6, 7}// 多维数组var arr [4][5]bool// 获取值fmt.Println(arr[1])// 获取数组总数fmt.Println(len(arr))// 获取数组区间 显而易见,Go对数组的操作更便利直观a := [...]string{"red","green","blue","yellow","brown"}fmt.Println(a[1:2])// 设置key=>value 这里需要使用Mapm := map[string]string{    "username": "zhangsan",    "age" : "13"}// 删除指定下标 Go没有删除数组下标的系统方法arr := arr[1:]// 删除中间位置的下标 可通过合并的方式去除指定下标arr := append(arr[:3],arr[4:])

循环结构

PHP

// 基本结构for($i=0;$i<10;$i++){    echo $i;}// 死循环for($i=0;$i<10;$i++){    echo $i;    $i--}// 获取key,valueforeach($arr as $key=>$value){    echo $key,$value}

Go

// 基本结构for i := 0; i < 10; i++ {    fmt.Println(i)}// 死循环 可见Go写死循环非常方便for {    fmt.Println("")}// 获取key,valuefor k, v := range arr {    fmt.Println(k, v)}

控制结构

PHP

// ifif(true){}// switchswitch(true){    case true:        echo true;        break;}

Go

// ifif true {        }// switch Go语言的Switch的Case不需要breakswitch true {    case true:        fmt.Println(true)}

PHP

// 声明一个类class City{}

Go

// 声明一个结构体 这里并非混淆公众,是因为Go本身没有类的概念,只是其声明及操作方法与类概念相似type City struct{}

Go语言的结构体会在下一个章节来做对比

致谢

感谢你看到这里,希望本篇文章可以帮到你。谢谢

转载地址:http://vtvio.baihongyu.com/

你可能感兴趣的文章
后台简单接入的接口短信平台
查看>>
linux manual手册
查看>>
FileZilla Server配置FTP服务器教程
查看>>
文件上传按钮的用户自定义样式的实现
查看>>
C++ 运算符重载(一)
查看>>
周末玩OPENWRT--多WAN PPTP
查看>>
phpexcel因特殊字符导出失败解决
查看>>
如何通过xmake进行交叉编译
查看>>
RecyclerView实现跑马灯效果
查看>>
C++单元测试框架:gtest
查看>>
HTML+css制作简易进度条
查看>>
mysql登录连接、增加用户、修改权限
查看>>
org.apache.jasper.JasperException: Unable to compile class for JSP:
查看>>
OSGi与Java EE
查看>>
cocos2d-x加box2d制作弹弓类游戏 第二部分
查看>>
【sed】个人用到的方法记录
查看>>
screen工具(虚拟终端)、nohup命令(让脚本后台运行)
查看>>
centos 卸载python2之后的解决办法
查看>>
hdu1711(kmp纯模板)
查看>>
MySQL-Utilities
查看>>