首页 > 其他 > 详细

go编程学习

时间:2020-03-15 11:21:02      阅读:57      评论:0      收藏:0      [点我收藏+]
1.go 项目目录结构
技术分享图片
2.go build生成二进制文件
go build hello.go
go build -o hellotest hello.go #可以指定二进制文件名
3.go run 以脚本形式运行
go run hello.go

4.定义变量方法
package main
import "fmt"
//全局声明
var n1 = 100
var n2 = 200
var name = "xiaohuihui"

//一次性声明
var (
n3 = 300
n4 = 900
name2 = "mary"
)
func main(){

var i int
fmt.Println("i=",i) //默认值0

var num = 10.11
fmt.Println(num)

name := "tom" //等价于 var name string name = "tom"

fmt.Println(name)

var n1, n2, n3 int //多变量声明

fmt.Println(n1,n2,n3)

var a, b, c = 100, "tom", 111
fmt.Println(a,b,c) //a = 100,b="tom",c=111

//类型推导
a, b, c := 100, "tom", 111
fmt.Println(a,b,c)  //a = 100,b="tom",c=111

}

5.变量注意
package main
import "fmt"

func main(){
var i int = 10
i = 30
// 只能同一类型不断变化 不正确赋值i = "50"

//var i int = 50 //变量在同一作用域不能重名

}
6.加号运算
package main
import "fmt"

func main(){

var a,b int = 1,2
var resp int
resp = a + b
fmt.Println(resp)

var str1 = "gello"
var str2 = "world"
var res = str1 + str2
fmt.Println(res)

}

7.整数,有符号整数类型int int8,int16,int32,int64 ,无符号整数uint,uint8,uint16,uint32,uint64
package main
//import "fmt"

import (
"fmt"
"unsafe"
)

func main(){

var j int8 = -128  //int8 占1个字节,1个字节占8个bit  小于-128回报错
fmt.Println(j)

var i uint8 = 255 //uint 大于255回报错 0~255
fmt.Println(i)

var c byte = 255 // byte范围0~255,经常用来存字母
fmt.Printf("j 的类型%T", j) //Printf格式化输出变量类型
fmt.Printf("j 的类型%T, 占用字节数%d", j, unsafe.Sizeof(j))

}
8.浮点型float32单精度,占用4个字节,float64双精度(默认使用64),占用8个字节,浮点数都是有符号的
package main

import (
"fmt"
)

func main(){

var price float32 = 89.123
fmt.Println(price)
var num1 float32 = -89.11111111111 //精度损失
var num2 float64 = -123.19100002333
fmt.Println(num1)
fmt.Println(num2)
var num3 = 1.1
fmt.Printf("num3数据类型 %T\n",num3)

//科学计数法表示小数
num4 := 5.1234566e2
fmt.Println(num4)

}

9.字符串类型,保存的字符在ascii码中,用byte类型,超过0~255,用int类型
package main
import (
"fmt"
)

func main(){
var c1 byte = ‘a‘
var c2 byte = ‘0‘
fmt.Println("c1=",c1) //97 输出ascii值 0~255
fmt.Println("c2=",c2) // 48
fmt.Printf("c1=%c\nc2=%c",c1,c2) //输出a,0 输出ascii值

//var c3 byte = ‘北‘ //超出0~255 溢出  
var c4 int = ‘北‘ //超过 255 可以输出
//fmt.Printf("c3=%c",c3)  //格式化输出正确的字符
fmt.Printf("c4=%c",c4)

var c5 int = 22269 //对应utf-8编码 22269--->国
fmt.Printf("c5=%c",c5)

var n1 = 10 + ‘a‘ //10 + 字符a的ascii码值
fmt.Println(n1) //10 + 97 = 107

}

10.bool
package main
import (
"fmt"
"unsafe"
)

func main(){
var b = false
fmt.Println("b=",b)
fmt.Println("b的占用空间=",unsafe.Sizeof(b))//占用1字节
//bool只能是true或false,不能是0,1
}

注:
1.go语言入口是main函数
2.go语言严格区分大小写
3.go方法由一条一条语句构成,每条语句会自动加分号
4.go是一行一行编译因此一行一条语句,否则编译报错
5.go定义的变量或引入的包必须用到,否则报错
6.大括号成对出现

go编程学习

原文:https://blog.51cto.com/haoyonghui/2478230

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!