package main
import "fmt"
func main() {
//Go安装
//$GOPATH: 你写Go代码的工作区,保存你的Go代码的
//go env
//GOPATH/bin 添加到环境变量:go install 命令会把生产的二进制可执行文件拷贝到GOPATH/bin
//
//Go命令
//go build:编译Go程序
//go build -o "xx.exe":编译自定义文件名
//go run main.go:直接执行go文件,不用编译
//go install:先编译后拷贝
//
//Go语言文件基础语法
//存放Go源代码的文件后缀名是.go
//文件第一行:package关键字声明包名
//单行注释//
//多行注释/*
//
//*/
//func main 是入口函数,编译可执行文件使用。
//函数外面只能以关键字开头如var const 等
//函数内部定义的变量必须使用
//变量和常量
//变量
//3种声明方式
//1.var name string
//2.var name = "沙河"
//3.函数内部专属: name := "沙河"
//匿名变量(哑元变量)
//当有些数据必须用变量接收,但是又不使用它,就可以用_来接收这个值
//常量
//const PI = 3.1415
//iota:实现枚举
//iota在const关键字出现时将被重置为0
//const中每新增一行常量声明,iota累加1
//
//流程控制
/*
if 条件1{
fmt.Println("213")
}else if 条件2("dfd"){
// fmt.....
}else{ fmt.Prinln("dfds")}
for循环多种写法
for i :=0; i<10; i++{
fmt.Println(i)
}
var i = 0
for ; i<10; i++{
fmt.Println(i)
}
var i = 0
for ; i<10;{
fmt.Println(i)
i++
}
for {
fmt.Println("无限循环")
}
for i,v := range "沙河有沙又有河sdfsdf"{
fmt.Printf("%d %c\n",i,v)
}
哑元变量_,不想用到的都扔给它
for _,v := range "沙河有沙又有河sdfsdf"{
fmt.Printf("%c\n",v)
}
打印9*9乘法表*/
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d\t", j, i, j*i)
}
fmt.Println()
}
/*
基本数据类型
整形
无符号整形:uint8,uint16,uint32,uint64
带符号整形:int8,int16,int32,int64
uint和int:具体是32位还是64位看操作系统
uintptr:表示指针
其它进制数
八进制数定义
var n1 = 0777
十六进制数定义
var n2 = 0xff
fmt.Println(n1,n2)默认打印的是十进制数
fmt.Printf("%o\n",n1) 打印八进制数
fmt.Printf("%x\n",n2) 打印十六进制
浮点型
float64和float32
Go语言中浮点数默认是float64
复数
complex128 和complex64
布尔值
true 和 false
不能和其他类型做转换
字符串
常用方法
字符串不能修改
byte(uint8)(英文)和rune(int32)(中文)类型
byte 和rune类型,都属于类型别名*/
s1 := "Hello"
s2 := "沙河有沙又有河"
for a, v := range s1 {
fmt.Printf("%d %c %T\n", a, v, v)
}
for a, v := range s2 {
fmt.Printf("%d %c %T\n", a, v, v)
}
/*
字符串(双引号包裹)、字符(单引号包裹)、字节(1byte=8bit)都是什么
go语言中字符串都是UTF8编码,utf8编码中一个汉字一般占用3个字节
*/
}
网友评论