HelloWorld 我们先看看一个最简单的HelloWorld代码 package main import "fmt" func main() { fmt.Println("Hello, World!") } 这段代码可以在控制台输出 "Hello, World!" 下面让我们来刨析一下此段代码 第一行的 package main  定义了该程序的包名为 main ,main的功能同其它语言一样,都代表着程序的主要部分/入口,每一个应用都应该有…
php从入门到放弃系列-03.php函数和面向对象 一.函数 php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册. 自定义函数: function functionName() { 要执行的代码; } 函数命名的准则: 函数的名称应该提示出它的功能 函数名称以字母或下划线开头(不能以数字开头) 二.面向对象 1.类基础语法: <?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function s…
Go-数据类型以及变量,常量,函数,包的使用 一.数据类型 1.字符串类型 string -双引号包裹的:"xxx" -反引号包裹,可以换行, 注意: 区别于python,是没有单引号,三引号的 用法: var s string=` 你好 我好 大家好 ` var b string="你好\n" + "我好" + "大家好" 2.数字类型 有符号整型(整数 含正负): int: int 在32位机器上是int32 在64位机器…
GO语言基础 第一个GO程序 GO语言常量和变量 GO语言数据类型 GO语言流程控制 GO语言数组 GO语言切片 GO语言 map GO语言函数 GO语言指针 Go语言接口 GO语言常用包 GO语言的包 GO语言运算符 GO语言格式化打印 go语言time包的使用 Go语言文件操作…
本章主要介绍Go语言的数据类型 布尔(bool) 布尔指对或者错,也就是说bool只有两个值, True 或 False 两个类型相同的值可以使用比较运算符来得出一个布尔值 当两个值是完全相同的情况下会返回 True,否则返回 False. package main func main() { print(suma == sumb) } 上方的代码返回 true 如果值不相同返回 false 如果变量类型不一样会报错 package main func main() { print(suma =…
本来这里是写数据类型的,但是规划了一下还是要一步步来,那么本篇就先介绍一下Go语言的 优势/关键字 吧 本章转载  <The Way to Go>一书 Go语言起源和发展 Go 语 言 起 源 2007 年, 并 于 2009 年 正 式 对 外 发 布. 它 从 2009 年 9 月 21 日 开 始 作 为 谷 歌 公 司 20% 兼 职 项 目, 即 相 关 员 工 利 用 20% 的 空 余 时 间 来 参 与 Go 语 言 的 研 发 工 作. 该 项 目 的 三 位 领 导 者 均…
前言 Go语言学到 Gin 框架了, 其实每天学习是比较辛苦的事情, 坚持下去! 在使用 Go 过程中发现, 最无奈的是Go的一些模块下不下来, 即便挂了V, 油管2k不卡的那种, 依旧是 time out, 本文通过修改源为国内源的方法来规避此问题 正文 推荐使用的两个, goproxy.cn 和 goproxy.io 连接分别是 https://goproxy.cn https://goproxy.io 以下以cn举例,如想更换io步骤一样只是网址不一样 可直接跳转至 github 地址查看…
前言 有段时间没摸Go语言了,最近B站的Go语言泄露挺火的. 还差的很远呐 学无止境 本章主要介绍一些零碎的小知识点 变更记录 # 19.4.30  起笔 # 19.4.30  增加代码打包步骤 正文 go代码打包 与Python不同,go语言在生产环境中是需要打包代码的 比如写一个最简单的helloworld package main // 声明 main 包, 表明当前是个可执行程序 import "fmt" // 导入内置的fmt包 func main() { // main函数…
什么是tag Tag是结构体中某个字段别名, 可以定义多个, 空格分隔 type Student struct {     Name string `ak:"av" bk:"bv" ck:"cv"` } 使用空格来区分多个tag,所以格式要尤为注意 tag的作用 tag相当于该字段的一个属性标签, 在Go语言中, 一些包通过tag来做相应的判断 举个例子, 比如我们有一个结构体 type Student struct {     Name str…
什么是装饰器#1 开放封闭原则:对扩展是开放的,对修改是封闭的#2 装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象#3 目的:''' 在遵循 1. 不修改被装饰对象的源代码 2. 不修改被装饰对象的调用方式 原则下 为被装饰对象加上新功能''' 1.函数名可以当作函数的参数 import time def timmer(func): #函数名可以当做函数的参数 def inner(): start = time.time() func() end = time.time()…