相关:
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")
}