当前位置: 首页 > wzjs >正文

网站建设哪个好网站优化的内容

网站建设哪个好,网站优化的内容,网站开发的工具,网页设计作业样例目录golang入门进阶组1调用命令行函数进阶闭包方法接口golang入门进阶组1 调用命令行 所有的命令行参数都会被解析为字符串类型的 os.Args 接收所有我们传入的参数; 假设该文件编译为了一个 exe,我们执行该 exe 是使用代码: main.exe asd 1…

目录

      • golang入门进阶组1
        • 调用命令行
        • 函数进阶
        • 闭包
        • 方法
        • 接口

golang入门进阶组1

调用命令行

所有的命令行参数都会被解析为字符串类型的

os.Args 接收所有我们传入的参数;

假设该文件编译为了一个 exe,我们执行该 exe 是使用代码: main.exe asd 123
则上面三个元素都会变成参数传递给 os.Args

import ("fmt""os"
)func main() {// 获取传入参数个数num := len(os.Args)// 输出所有参数for i := 0; i < num; i++ {fmt.Printf(os.Args[i])}
}

flag 包可以自定义传参名称

则运行 exe 是可以使用命令:main.exe -name=tom

// 写法一
func main() {// flag对应的三个参数// 参数名、参数默认值、参数简介name := flag.String("name", "jack", "使用者名称")// 命令行参数解析到注册函数flag.Parse()// flag返回的均为指针类型,所以需要解指针fmt.Println("名字是:", *name)
}// 写法二
func main() {var (name stringage  int)flag.StringVar(&name, "name", "jack", "姓名")flag.IntVar(&age, "age", 13, "你的年龄")flag.Parse()
}

函数进阶

go 中甚至可以为返回值指定名称,即系统会自动返回该名称变量

// 注意这里不使用:=
func say() (res string) {res = "shit"return
}

匿名函数

func main() {// 匿名函数声明方式一a := func() {fmt.Printf("shit")}a()// 匿名函数声明方式二func(name string) {fmt.Println(name)}("fuck")
}

匿名函数作为参数传入

func main() {work(func() {fmt.Println("fuck")})
}func work(f func())  {fmt.Println("shit")f()
}

闭包

经典闭包,只要匿名函数使用外部函数任意一个变量,那么该变量就会一直存在(和 js 闭包概念一致)

func add() func() int {x := 100return func() int {x++return x}
}

延迟执行 defer

加了 defer 修饰的语句会在当前函数正常语句执行完毕后才执行;
加 defer 的语句按照 LIFO 原则

func main() {// 序号表示执行顺序defer fmt.Println("第一个入栈") // 3fmt.Println("正常输出")        // 1defer fmt.Println("第二个入栈") // 2
}

方法

说白了,就是为一个结构体添加额外的方法

但是一个方法不可以直接调用,比如下方代码直接 hello() 是报错的(即可以认定该方法是绑定于结构体上的一部分)

import "fmt"type Person struct {name string
}// 这是一个方法
// 为结构体扩展一个新的方法
func (p Person) hello() {fmt.Println(p.name)
}func main() {p := Person{name: "shit"}// 使用刚刚扩展的新方法p.hello()
}

接口

和 java 的接口如出一辙

// Dog 定义结构体
type Dog struct {name string
}
// 定义接口,需要后续实现
type Animal interface {walk()
}// 实现接口,这里被扩展的结构体为Dog
func (d Dog) walk() {fmt.Println("开始走路")
}// 实例化dog,然后调用对应接口即可
func main() {dog := Dog{name: "shit"}dog.walk()
}


文章转载自:

http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://00000000.tqrxm.cn
http://www.dtcms.com/wzjs/617369.html

相关文章:

  • 网站建设-应酷天元建设集团有限公司一公司尤作岭
  • 新农村建设的网站大连做网站哪里好
  • 营销网站建设的步骤锦州网站开发建设
  • 网站开发项目总结报告wordpress 无效的文章类型
  • 莲都区建设局网站wordpress 显示文章分类
  • 校园网站建设检查自评报告网站建设要学哪些东西
  • 做公众号的模版的网站如何制作手机网页链接
  • 苏州网站设计哪家公司好ghost wordpress比较
  • 顺的网站建设要多少钱wordpress 实战视频教程
  • 河北住房和城乡建设厅网站电话五金机械设备网站模板建设
  • 做网站练手项目北京工商注册网官网
  • 如何判断网站是不是自适应专业 旅游网站建设
  • 标准品购买网站网页游戏网址
  • 二级域名分发网站做糕点的网站有哪些
  • asp网站开发一个网站想看访客量怎么做
  • 免费论坛建站哪些招聘网站做海外招聘
  • 网站建设 乐达云创永州seo快速排名
  • 嘉兴响应式网站金融网站建设报价方案
  • 西安交易网站建设网站上传不了wordpress
  • 接入商网站备案如何给网站配置域名
  • 景宁建设局网站官网网络建站的费用
  • 网站微信建设经验酒店网站建设方案结束语
  • 北京怀柔网站建设公司wordpress免费主题好不好
  • 建筑建设规范网站宣传片制作合同范本
  • 网络营销的5种营销方式搜索引擎优化与推广的产生及发展
  • 网站代码500建立网站的软件
  • 建设小说网站用什么软件改wordpress
  • 网站规划和建设的基本要求房地产开发公司网站源代码 墨绿色风格
  • 网站开发属于何种合同安装网络要多少钱
  • 网站能调用一些字体最新新闻热点事件20237月