Go语言的基本语法(二)
一·if -else
(1)
package main import "fmt" // if - else
//func main(){
// // 先定义 一个变量
// var a int=90
// // if 条件{} 大括号和条件之间不能进行换行
//
// if a>90{
// fmt.Println("大于90")
// }else if a<90{
// fmt.Println("a 小于90")
// }else{
// fmt.Println("a等于90")
// }
//
//}
(2)在条件作用域中定义的变量可以 使用 作用域的问题
// 在条件作用域中定义的变量可以 使用 作用域的问题
// 在函数中 进行条件判断
func main(){
if a:=90;a>90{
fmt.Println("大于90")
} else if a<90{
fmt.Println("小于90")
}else{
fmt.Println("等于90")
}
}
二. 包的使用
// 包的使用
package main import "mypackage"
import "fmt" func main() { //想使用mypackage包下的test函数和test1函数
mypackage.Test1()
fmt.Println("xxx") } 使用外部的包必须首字母大写 使用同一包内的函数导入 导入的包必须一致
三.for 循环
package main import "fmt" // for 循序
func main(){
// 1.for 语法
//for i:=0;i<10;i++{
// fmt.Println(i)
//}
// 三部分,都可以省略
// (1)先省略第一部分 i:0 //i:=0
//for ;i<10;i++{
// fmt.Println(i)
// (2)省略第三部分
//i:=0
//for ;i<10;{
// i++
// fmt.Println(i)
// (3)省略第二部分
// for ;;{
// fmt.Println("yyyy") // 死循环 没有哦终止条件 相当于while True
//}
// for {
// // 死循环的写法
// fmt.Println("hjah")
// }
(2)break 和continue 的用法
package main
import "fmt"
    // for 循序
func main(){
    // (4) break 和continue
    //for i:=0;i<20;i++{
    //    if i == 5{
    //        // 如果i 等于5 就直接终止种鸽函数
    //        break
    //    }
    //    fmt.Println(i)
    //}
    // continue 的用法
    for i:=0;i<20;i++{
        if i==5{
            continue
        }
        fmt.Println(i) // 0 不等于5 打印 过滤掉5 的值
    }
}
(3)switch 的基本用法
package main
import "fmt"
// switch的基本语句
func main(){
    // 基本用法
    a:=11
    switch a {
    case 1:
        fmt.Println("我是1")
    case 2:
        fmt.Println("我是2")
    case 10:
        fmt.Println("我是10")
    // 设置以上都不满足 我们default
    default:
        fmt.Println("我是默认值")
    }
(2)多值匹配
package main
import "fmt"
// switch的基本语句
func main(){
    // 基本用法
    a:=12
    switch a {
    case 1,4,5:
        fmt.Println("我是1")
    case 2,6,8:
        fmt.Println("我是2")
    case 10,11,12:
        fmt.Println("我是10,11,12 中的12")
    // 设置以上都不满足 我们default
    default:
        fmt.Println("我是默认值")
    }
}
(3)无值表达式
unc main(){
        // 基本用法
    a:=10
    switch {
    case a>10:
        fmt.Println("大于10")
    case a<10:
    fmt.Println("小于10")
    default:
        fmt.Println("默认值")
    }
(4)//Fallthrough 的用法:穿透, 无条件的执行下一个case 的内容
package main
import "fmt"
// switch的基本语句
func main(){
   // 基本用法
   //switch a {
   //case 1,4,5:
   // fmt.Println("我是1")
   //
   //case 2,6,8:
   // fmt.Println("我是2")
   //case 10,11,12:
   // fmt.Println("我是10,11,12 中的12")
   //// 设置以上都不满足 我们default
   //default:
   // fmt.Println("我是默认值")
   // 无表达式的switch
   a :=10
   switch a {
   case 1:
      fmt.Println("1")
   case 2:
      fmt.Println("2")
   case 10:
      fmt.Println("10")
      test()
      fallthrough
   case 12:
      fmt.Println("穿透")
   }
}
// 外部的函数
func test(){
   fmt.Println("穿透1")
}
(5)数组和迭代及多维数组
package main
import "fmt"
// 数组  值传递(不可变)和值的引用(可变)
func main(){
    // var a [5]int //定义了一a 的数组 长度为5的int类型的数组
    // a[1]=999 // 把索引为1的位置换成100
    // (1)定义并未赋初值
    //var a [5]int
    //fmt.Println(a)  //  [0 0 0 0 0]
    //a[1]=999
    //fmt.Println(a)  // [0 999 0 0 0]
    // (2)定义并切赋初值
    // var b[6]int=[6]int{1,2,3,4,8}  // 长度必须小等于6 不足0补全
    // fmt.Println(b)
    // var b=[6]int{1,2,3}  //  [1 2 3 0 0 0]
    // fmt.Println(b)
    // (3)第67 的位置设置为6767 a[-9]是不支持的哦
    // a:=[100]int{1,2,3,65:6767}
    // fmt.Println(a)
    // (4)数组是值类型 ()>>> 所有的函数传参都是copy 传递
    // a:=[4]int{1,2,3}
    // test1(a)  // 函数加括号执行调用 [100,2,3,0]  将0 的位置1 替换成100
    // fmt.Println(a)  // 打印[1,2,3,0] // 原值是不会发生改变的
    // (5) 数组的长度 内置函数的len
    //a:=[10]int{6,6,7}
    //fmt.Println(len(a))
    // (6)数组的大小是类型的一部分
    // var a [4]int=[4]int{1,2}
    // var b [5]int=[5]int{4,5}
     // fmt.Println(a=b) 没办法进行大小的比较
     // (7)go 中的与(&&) 或(||) 非!
    // a:=10
    // if (a>10||a<6){
    //     fmt.Println("ye")
    //
    // }else if  !(a>10) {
    //     fmt.Println("ok")
    //}
    // (8)数组的迭代
    //a:=[5]int{1,4,5,6,70}
    //for i:=0; i<len(a);i++{
    //    fmt.Println(a[i]) // 获取数字的值 索引取值
    //}
    //  通过range迭代
    //for i,v:=range a{
    //    fmt.Println(i,v)  // i 为索引  v 为值
    //}
    // (9) 多维数组
    var a [5][2]int
    a[0][1]=10
    fmt.Println(a)  // [[0 10] [0 0] [0 0] [0 0] [0 0]]
}
// 外部函数b
func test1(b [4]int){
    b[0]=100
    fmt.Println(b)
}
Go语言的基本语法(二)的更多相关文章
- PHP语法(二):数据类型、运算符和函数
		相关链接: PHP语法(一):基础和变量 PHP语法(二):数据类型.运算符和函数 PHP语法(三):控制结构(For循环/If/Switch/While) 这次整理了PHP的数据类型.运算符和函数. ... 
- C语言-01-基本语法
		一.学前需知 开发工具 windows平台:Visual C++6.0等 mac平台:Xcode6.0等 以下文章内容皆是以Xcode6.0为开发工具,clang编译器. Xcode的一些常用快捷键 ... 
- C语言高速入门系列(二)
		C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ... 
- CodeSmith 基本语法(二)
		CodeSmith之四 - 典型实例(四) CodeSmith API文档 (三) CodeSmith 基本语法(二) CodeSmith 图形界面基本操作(一) CodeSmith的C#语法与Asp ... 
- C语言中如何将二维数组作为函数的参数传递
		今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ... 
- Python 基础语法(二)
		Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ... 
- 关于JS脚本语言的基础语法
		JS脚本语言的基础语法:输出语法 alert("警告!"); confirm("确定吗?"); prompt("请输入密码");为弱 ... 
- web前端学习python之第一章_基础语法(二)
		web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ... 
- 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组
		学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ... 
- MySQL之单表查询    一 单表查询的语法     二 关键字的执行优先级(重点)     三 简单查询     四 WHERE约束     五 分组查询:GROUP BY     六 HAVING过滤     七 查询排序:ORDER BY     八 限制查询的记录数:LIMIT     九 使用正则表达式查询
		MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ... 
随机推荐
- selenium expected_conditions 源码学习记录
			#expected_conditions模块收集了一系列的场景判断方法 #源码地址 # https://seleniumhq.github.io/selenium/docs/api/py/_modul ... 
- 2019-8-12未命名文件 sdfsf
			2019-8-12未命名文件 sdfsf 新建模板小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 小书匠主按钮>模板 里的模板管理来改变新建文章的内容.sdfsdfsdf 
- spring整合mybatis(代理的方式)【我】
			创建项目等同上一篇非代理方式随笔,只说不一样的部分: 项目结构主要是多了下面红框部分: 配置文件: 主要是dao配置文件中多了Mapper代理java类的扫描包路径: applicationConte ... 
- 阶段3 3.SpringMVC·_07.SSM整合案例_01.ssm整合说明
			Spring去整合另外的两个框架 
- BOM Summary  P268-P269
			The Browser Object Model(BOM) is based on the window object, which represents the browser window and ... 
- .pkl文件是什么?python
			对于.pkl文件,我是在接触 SMPL模型的时候用到的.SMPL的开源项目包里,有model文件夹,打开有两个.pkl文件.然后,找到了一个说的相对比较详细的网址.https://jingyan.ba ... 
- springboot 多线程的使用
			int pageSize = 10000; int totalCount = doctorDAO.selectDatasByMapCount2(jsonArray, false, null); int ... 
- 【HANA系列】【第三篇】SAP HANA XS的JavaScript安全事项
			公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第三篇]SAP HANA XS ... 
- react中key的使用
			面试题: 1). react/vue中的key的作用/内部原理 2). 为什么列表的key尽量不要用index 虚拟DOM的key的作用? 1). 简单的说: key是虚拟DOM对象的标识, 在更新显 ... 
- @Validated和@Valid校验参数、级联属性、List
			@Validated和@Valid的区别 在Controller中校验方法参数时,使用@Valid和@Validated并无特殊差异(若不需要分组校验的话): @Valid:标准JSR-303规范的标 ... 
