Go 入门
时间:2019-12-09
本文章向大家介绍Go 入门,主要包括Go 入门使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
相关: 1G = 1024M 1M =1024KB 1KB = 1024B 1B = 8bit -c开发:在windows上开发,编译好的只能在windows上用 -java开发:跨平台,一处编码到处运行 -运行在java虚拟机之上 -编译成字节码文件:中间态 -go:跨平台编译 -在windows平台可以编译出linux下的可执行文件 -java概念普及: -jdk:开发人员需要装jdk -jre:运行java程序,需要装 -jvm:java虚拟机 -javase:java基础,安卓方向 -javaee:javaweb方向 -ssh框架:spring structs Hibernate -ssm框架:spring springmvc mybatis -spring全家桶 -springboot:一站式搞定 -springclode:微服务开发 -javame:手机端开发 -大数据: -编译语言:-不依赖语言环境运行 c,c+,c#,java,go -解释型语言:-需要解释器,缺点是执行速度慢 python,js -Go是静态强类型语言:强类型:类型固定 -跨平台的编译型语言:一处编码到处运行 eg:在windows平台可以编译出linux下的可执行文件 -go为什么这么火? -docker容器化 devops 比较火 -k8s go写的:容器编排 -区块链 :第一个开源的区块链项目是用go写的 -性能高,特别适合服务端开发 -部署容易 -环境搭建 -go开发环境:go1.13.5.windows-amd64 -go version 查看go版本 -环境变量自动配置 -go env -GOPATH=C:\Users\oldboy\go go的代码必须放在这个路径下 -GOROOT=c:\go go的安装路径 -go ide: -goland-2019.3.exe -vs code -第一个helloworld -先编译再执行 -go build 文件名 编译 -文件名执行 -编译并执行 -go run 文件名 -变量 用来存储特定类型的值 方式一:全名称 var关键字 变量名 变量类型 = 值 var a int=10 //定义了一个int类型的a ,把10赋值给他 方式二:类型推导 var a =10 fmt.Println(a) 方式三:简略声明 a:=10 fmt.Println(a) 注: 1.go语言中变量定义了必须使用,否则报错 2.变量不能重复定义 3.强类型语言,类型是固定的 4.定义不赋初值 :int 类型默认值是0 string 类型默认值是空字符串 5.可以同时定义多个变量 -var a,b int=10,20 -var a,b=10,"666" -a,b:=10,"lqz" -变量类型 -bool类型:表示一个布尔值,值为 true 或者 false a := true b := false fmt.Println("a:", a, "b:", b) a: true b: false -数字类型: -有符号 int8 8 位 -128~127(2**7-1) int16 16 位 -32768~32767(2**15-1) int32 32 位 ..... int64 64 位 int 在 32 位系统下是 32 位,而在 64 位系统下是 64 位。 -无符号 uint8 8 位 2**8 uint16 16 位 2**16 uint32 32 位 2**32 uint64 64 位 2**64 uint 在 32 位系统下是 32 位,而在 64 位系统下是 64 位。 -浮点型 float32:32 位浮点数 float64:64 位浮点数 -complex64类型:复数 -byte: uint8的别名 -rune:int32的别名 -string 类型:是字节的集合 var a string="lqz" var c string=`阿斯蒂芬a 手动阀afd阿斯蒂芬 安抚 asfd阿萨德f` var a string="阿发" + "按时发大水f" + "agessdfas" + "按时发大水发d" 注:字符串(必须用双引号),反引号是python中的三引号 -常量:恒定不变的量 用const定义 const b ="192.168.1.1" fmt.Println(b) -函数 语法: func关键字 函数名(参数1 类型,参数2 类型) (返回值类型){} 1.无参数,无返回值 func test() { fmt.Println("xxx") } 2.有多个参数 func test(a ,b int,c string) { fmt.Println(a+b) } 3.返回多个值 func test(a,b int) (int,string) { return a+b,"成功" } 4.有一个返回值,一定要指定返回值类型 func test(a,b int) int { return a+b } func test(a,b int) string { return "lqz" } 5.命名返回值 func test(a,b int) (c int, d string) { c=10 d="成功" return } 6.不定长参数 func test(a ...interface{}) { fmt.Println(a) } 7.闭包函数 定义:在函数内部,对外部作用域有引用 函数是一等公民:可以把函数赋值给一个变量,函数就是一等公民 注:在go中没有关键字参数与默认参数,都是位置参数 package main import "fmt" func main() { test() test(1,2) var a int=test(1,2) var a =test(1,2) var a string a =test(1,2) fmt.Println(a) var a int var b string a,b:=test(1,2) 不要第二个返回值 a,_:=test(1,2) fmt.Println(a) fmt.Printf(_) a:=test() fmt.Printf(a) test(a=10,b=21) fmt.Println(1,"lqz") test(1,"lqz") }
原文地址:https://www.cnblogs.com/wyf20190411-/p/12013229.html
- 360安全扫描之WordPress 页面异常导致本地路径泄漏 的漏洞修补
- Quartz.net官方开发指南 第九课: JobStore
- 数据中心运营中出现的错误
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- WCF服务上应用protobuf
- Quartz.net官方开发指南 第十一课: 高级(企业级)属性
- Quartz.net官方开发指南 第十二课:Quartz 的其他特性
- Protocol Buffers的应用
- WordPress 显示数据库查询次数、查询时间及内存占用的代码
- WCF服务在高负载下可能会变慢
- WordPress 后台管理菜单名称重命名的方法
- 从Akismet 黑名单中洗白的方法
- 移除除管理员之外的其他用户的WordPress 更新升级提示
- 为 WordPress 后台管理菜单自定义排序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 终于开始了,微软的野心将通过全场景开发平台.NET 5体现得淋漓尽致!
- 微信小程序开发实战(27):录音
- 微信小程序开发实战(28):播放、暂停、停止声音
- 微信小程序开发实战(29):控制背景音乐
- 面试:如何从 100 亿 URL 中找出相同的 URL?
- Spring Boot+Gradle+ MyBatisPlus3.x搭建企业级的后台分离框架
- 不要再对类别变量进行独热编码了
- 面试Java基础问题汇总
- K8s集群上使用Helm部署2.4.6版本Rancher集群
- 一个工作三年的同事,居然还搞不清深拷贝、浅拷贝...
- 太有意思了,教你实现实现王者荣耀团战!
- 动画:什么是基数排序?
- 一个有意思的分钱模拟问题
- 如何快速的开发一个完整的直播购物源码,基础篇
- 「拥抱开源」Nacos 实战篇