Go基础学习二
一、go语言常用命令go get 获取远程包(需提前安装git) go run 运行 go build 测试编译(package main 的文件) go fmt 格式化代码 go install 编译包文件和整个程序 go test 运行测试文件(**_test.go是测试文件,命名自己文件的时候需要注意) go doc 查看文档(本地官网 godoc -http=:8080 & 后台执行) 我们可以将go的官网放到本地: godoc -http=:8080 然后我们可以访问本地8080端口: http://localhost:8080/ Go环境变量与工作目录:GOPATH下需要建立 3个目录(bin存放编译后生成的可执行文件;pkg存放编译后生成的包文件;src存放项目源码) 二、go 语法结构1、Go导入package的格式package main包含main函数 改包名: import abc "fmt"/import . "fmt" 调用的时候 abc.Println/Println 不推荐使用.那种,容易混淆
test.go package ok // package main 这里故意将main 包名写错 import "fmt" func main(){ fmt.Println("Hello,World") } 如果我们运行的程序里边没有
2、package别名当使用第三方包时,包名可能会非常接近或相同,此时就可以使用别名来进行区别和调用 import "fmt" // 使用别名 import std "fmt" std.Println("Hello,world") 省略调用 // 省略调用 import . "fmt" Println("Hello,world") 注意点: 3.可见性规则Go语言中,使用 func getField(){ // ... }
func Print(){ // ... } 完整示例: package main // 导入其他的包 import "fmt" // 第一种导入方法 /* import{ "fmt" "io" "os" } */ // 常量的定义 const PI = 3.14 // 全局变量的声明与赋值 var name = "gopher" // 一般类型声明 type newType int // 结构的声明 type gopher struct{} // 接口的声明 type golang interface{} // 由 main 函数作为程序入口点启动 func main(){ fmt.Println("Hello,World") } 牛刀小试: 定义常亮: const( PI = 3.14 const1 = 1 Radis = 10 ) 全局变量的声明与赋值: var ( name = "corwien" age = 20 address = "guangzhou" ) 一般类型声明: type ( newType int type1 float32 ) 三、类型与变量1.类型1、布尔类型:bool 2、整型:int/uint 3、8位整型:int8/uint8 4、字节型:byte( 5、16位整型:int16/uint16 6、32位整型:int32(rune)/uint32 7、浮点型:float32/float64 8、复数:complex64/complex128 9、其他值类型:
10、引用类型:
11、接口类型:interface 类型零值
类型别名 type ( byte int8 rune int32 文本 string ) // 使用中文类型,牛逼啊 var b 文本 b = "你好哈亲" 2.变量2.1 单个变量的声明与赋值
示例: var a int // 变量的声明 a = 123 // 变量的赋值 // 变量声明的同时赋值 var a int = 123 // 上行的格式可省略变量类型,由系统推断 var c = 123 // 变量声明与赋值的最简写法 d := 678
2.2 多个变量的声明与赋值
举例: var( // 使用常规方式 a = 'hello' // 使用并行方式以及类型推断 b,c = 1,2 // d := 3 // 不可以省略 var ) 多个变量的声明 // 多个变量的声明 var a,b,c int // 多个变量的赋值 a,2,3 // 多个变量声明的同时赋值 var d,e,f int = 4,5,6 // 省略变量类型,有系统推断 var g,h,m = 7,8,9 // 多个变量声明与赋值的最简写法 n,o,p := 10,11,12 2.3 变量的类型转换
// 当变量未在前边申明过,则需要冒号:,如果已经声明过,则不需要冒号 <ValueA>[:] = <TypeOfValueA>(<ValueB>) 示例: // 在相互兼容的两种类型之间转换 var a float32 = 1.1 b := int(a) // 以下表达式无法通过编译 var c bool = true d := int(c) 全局变量的声明不可以省略var 局部变量不可以使用var()的方式简写 思考 // 变量类型转换,整数转为字符,会发生什么呢? func main() { var a int = 65 b := string(a) fmt.Println(b) } 四、常量与运算符1、常量的定义
// 定义单个常量 const a int = 1 const b = 'A' const { text = "123" length = len(text) num = b * 20 } // 同时定义多个变量 const i,j,k = 1,"2","3" const( text2,length2,num2 = "234",len(text2),k * 10 ) 2、常量的初始化规则与枚举
示例: const ( // a与b都为"A" a = "A" b c = iota d // d的值为3 ) const( e = iota f // f 的值为1 ) // 星期枚举 const( // 第一个常量不可省略表达式 Monday = iota Tuesday Wednesday Thursday Firday Saturday Sunday ) 3、运算符
相关资源: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |