golang常量与逻辑运算基本语法

基础语法开始:

main方法

main方法只能有一个
注意:go的语法有点像规约大于配置
import导入的包必须使用,不然报错
声明的变量,必须使用,不然也报错

package main
//import xxx
func main(){
}

常量与变量

自动声明变量类型,自动推导类型,根据你的值来

a := 10

声明指定类型变量,常量在前,类型在后

var a int 

赋值变量

a=10

输出变量方式
fmt是一个出常用的包,一些基本的输出都在里面

import "fmt"
fmt.Printf("a=%d,b=%d", a,b)

交换两个变量的位置,比java,python都简便
记得算法的经典简单题吗:
逆转一个链表
用go只需要一行搞定

i:=10
j:=20
i,j=j,i

匿名变量

匿名变量,一般结合函数的返回值来使用,由于go语言的函数支持多个返回值,所以需要_来摒弃不需要的返回值。
如下:第一和第三个返回值都没有获取。

func main() {
	_,k,_:=test()
	println(k)
}
func test()(a,b,c int){
	return 1,2,3
}

声明常量,常量不允许赋值,从英语单词constant由来
常量无法使用 := 的语法,可以直接自动推导类型

const a int =10
const b=10

代码块实现多定义

var{
a int
b float64
}
const{
a int =10
}

枚举

1.iota是常量自动生成器,每隔一行,+1
2.lota只能给常量赋值

const{
//0
a=iota
//1
b=iota
//2
c=iota
}
//也可以只写一个iota
const{
//0
a=iota
//1
b
//2
c
}
//如果是同一行,那么值都一样
const{
//0
j=iota
//1,1,1
a,b,c=iota,iota,iota
}

逻辑运算

if语句

if语句支持在语句内进行初始化

if(a := 10, a==10){
	println("success")
}else{
	println("failed")
}

switch语句就比较普通
go语言的switch默认就带break

func main() {
	num:=10
	//switch后面写的是变量本身
	switch num {
	case 1:println("1")
	//break
	case 2:println("2")
	//break
	default:
		println("default")
		//break
	}
}

break代表跳出循环
而fallthrough代不跳出循环,后面的语句无条件执行
因为默认是break,如果需要不跳出记得要加fallthrough

func main() {
	num:=10
	//switch后面写的是变量本身
	switch num {
	case 1:
	println("1")
	fallthrough
	case 2:
	println("2")
	fallthrough
	default:
		println("default")
		fallthrough
	}
}

swtich也是支持一个初始化语句,跟变量用;分割,case语句也能放条件

func main() {
	//switch后面写的是变量本身
	switch num:=10;num {
	case num >10:
	println("1")
	fallthrough
	case num == 10:
	println("2")
	fallthrough
	default:
		println("default")
		fallthrough
	}
}

循环语句

go语言中没有while,dowhile语句
for 初始化条件;判断条件;条件变化

sum := 0
for i:=1;i<10;i++{
 sum+=i
}

go里面有range字符,会有两个返回值
第一个返回元素的位置,第二个返回元素本身
这个很常用后面结合channel都有使用

str := "hello"
for i,data := range str{
printf("位置为",i,"数值为",data)
}
str := "hello"
for i := range str{
printf("位置为",i)
}
//跟下面是相同的
str := "hello"
for i,_ := range str{
printf("位置为",i)
}

goto关键字(用处不多,代码会很乱)

goto关键字可以在代码之间跳转
goto 【标签名】
【标签名】: 【跳转的内容】

func main(){
printf("123")
goto END
printf("111")

END:
	printf("321")
}
//最终会输出123321
发布了30 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42150559/article/details/94184582
今日推荐