//1 在同一个包下(文件夹下),包名必须一致
//2 以后,包名就是文件夹的名字
//3 同一个包下,同名函数只能有一个(init除外)
//4 一个包(当成一个文件),同一包下的函数,直接调用即可
//5 导包的位置,从src路径开始
//6 包只要在src路径下就可以导入
//7 大写表示导出,在外部包可以使用,小写只能在包内部适应
//8 使用第三方包:go get github.com/astaxie/beego (放到gopath的src路径下)
-python:pip3 install requests
package main
import "github.com/astaxie/beego" func main() {
beego.Run()
}

mode模式

//1 包导入 import . "github.com/astaxie/beego"  类似于python中form xx import *
//2 包导入 import _ "github.com/go-sql-driver/mysql" 触发init的执行,但是不试用包内的函数
//3 包导入 import f "fmt" 重命名,以后直接用f //4 对比python中__init__.py
//在代码中导入模块
import xx 实质上触发__init__.py 的执行(在__init__.py中也可以执行其他代码,对应到go中就是init函数)
一般情况下,在__init__.py写from xx import 会使用到的函数,导过来
以后再用 xx.函数() //5 go mod没有之前,可以设置多个gopath,开发某个项目,切到不同的gopath,类似于虚拟环境 //6 go env
-GO111MODULE="off" 表示go mod模式是关闭的,用gopath
-一旦开启了go mod模式,代码不需要放在src路径下(任意位置都可以)
-在项目路径下要有 go.mod 文件(文件里记录了,go版本,项目依赖的包,包的版本)
-写代码,建自己的包即可
-一般情况下,项目有一个main.go 内部是main包,main函数,整个程序的入口

if-else语句

//if-else
package main import "fmt" func main() {
//a:=9
//1 基本使用
if a>10{
fmt.Println("大于10")
}else {
fmt.Println("小于等于10")
} //2 if -else if -else
if a>10{
fmt.Println("大于10")
}else if a==10 {
fmt.Println("等于10")
}else {
fmt.Println("小于10")
} //3 不能换行(go语言每一行结尾,需要加一个; ,每当换行,会自动加;)
if a>10{
fmt.Println("大于10")
}else if a==10 {
fmt.Println("等于10")
}else
{
fmt.Println("小于10")
//} //4 条件里可以进行初始化操作(有作用域范围的区别)
a:=10;
if a<10{
if a:=10;a<10{
fmt.Println("xxx")
}else {
fmt.Println("yyyy")
}
fmt.Println(a) fmt.Println(a)
}

循环

//循环(只有for循环,没有while ,do while)
package main import "fmt" func main() {
//1 基本语法
//for 初始化;条件判断;自增/自减{ 循环体内容 } 三部分都可以省略
//打印0--9
for i:=0;i<10 ;i++ {
fmt.Println(i)
} //2 省略第一部分(初始化),作用域范围不一样
i:=0
for ;i<10 ; i++ {
fmt.Println(i)
} //3 省略第三部分
for i:=0;i<10 ; {
i++
fmt.Println(i)
} //4 省略第一和第三部分
i := 0
for ; i < 10; {
i++
fmt.Println(i)
} //5 这不就是while循环吗?
for 条件 {}
i := 0
for i < 10 {
i++
fmt.Println(i)
}
for true{
fmt.Println(1)
} //6 死循环(三部分都省略)
for {
fmt.Println(1)
} //7 break和continue(和python一样)
for {
fmt.Println(1)
//break
continue
}
}

switch语句

//switch
package main import "fmt" func main() {
// 1 switch 基本使用
a:=10
switch a {
case 1:
fmt.Println("1")
case 2:
fmt.Println(2)
case 9:
fmt.Println(9)
case 10:
fmt.Println("10")
} //2 default
a:=15
switch a {
case 1:
fmt.Println("1")
case 2:
fmt.Println(2)
case 9:
fmt.Println(9)
case 10:
fmt.Println("10")
default:
fmt.Println("不知道")
} //3 多条件
a:=3
switch a {
case 1,2,3:
fmt.Println("1")
case 4,5,6:
fmt.Println(2)
case 7,9:
fmt.Println(9)
case 10,16:
fmt.Println("10")
default:
fmt.Println("不知道")
} //4 无表达式
a:=3
switch {
case a==1 || a==3:
fmt.Println("1")
case a==4||a==5:
fmt.Println(2)
default:
fmt.Println("不知道")
} //5 fallthrough,无条件执行下一个case
a:=1
switch {
case a==1 || a==3:
fmt.Println("1")
//fallthrough //fallthrough 会无条件执行下一个case
case a==4||a==5:
fmt.Println(2)
fallthrough
default:
fmt.Println("不知道")
}
}

包、mode模式、if-else语句、switch语句的更多相关文章

  1. goto语句 switch语句

    goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...

  2. 【C语言】-条件语句-switch语句

    switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...

  3. Java ——if条件语句 switch语句

    本节重点思维导图  if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //…语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大 ...

  4. 关系运算符 逻辑运算符 if 语句 switch语句

    1. BOOL类型 BOOL isRightOrNo = YES; isRightOrNo = 56;//可以打印出来,在C语言中,非0即真 printf("%d\n" , isR ...

  5. 【JS】332- 为什么我更喜欢对象而不是 switch 语句

    昨天偷懒了,欢迎点击关注???这样我就多更大的动力日更了- 正文从这里开始~~~ 最近(或者不是最近,这完全取决于您什么时候阅读这边文章),我正在跟我的团队伙伴讨论如何去处理这种需要根据不同的值去处理 ...

  6. java基础:switch语句应用,循环的详细介绍以及使用,附练习案列

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...

  7. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  8. 1203.2——条件语句 之 switch语句

    用 if else 语句在处理多分支的时候,分支太多就会显得不方便,且容易出现 if 和 else配对出现错误的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include < ...

  9. 第二部分 条件控制执行语句、循环语句、switch语句、跳转语句和其它语句

    条件控制执行语句: if语句 if....else....语句 循环语句: while语句 do....while语句 for语句 switch语句: 跳转语句: break; continue; r ...

  10. 7.21.02 switch语句

    switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch语法格式如下: switch(expression) { case value : //语句 break ...

随机推荐

  1. Javascript函数之深入浅出递归思想

    一.递归函数的理解 1.生活中的递归 "递归"在生活中的一个典例就是"问路".如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐"这是第几排&qu ...

  2. java基本数据类型和引用数据类型的调用传递的区别

    (1)基本数据类型:就是进行了值的传递把一份数据拷贝了之后传递过去 (2)引用数据类型:实际上也是进行了数据拷贝然后传过去,实际上也是值传递,只不过传递过去的值和原有的值指向了同一个对象 所以在调用的 ...

  3. C# NAudio录音和播放音频文件及实时绘制音频波形图(从音频流数据获取,而非设备获取)

    下午写了一篇关于NAudio的录音.播放和波形图的博客,不太满意,感觉写的太乱,又总结了下 NAudio是个相对成熟.开源的C#音频开发工具,它包含录音.播放录音.格式转换.混音调整等功能.本次介绍主 ...

  4. javascript正则表达式入门先了解这些

    前言 此内容由学习<JavaScript正则表达式迷你书(1.1版)>整理而来(于2020年3月30日看完).此外还参考了MDN上关于Regex和String的相关内容,还有ECMAScr ...

  5. 粒子群优化算法(PSO)之基于离散化的特征选择(FS)(一)

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 作者:Geppetto 在机器学习中,离散化(Discretiza ...

  6. Kaggle大牛小姐姐自述:我是怎么成为竞赛中Top 0.3%的 | 干货攻略

    天天跟数据打交道的研究人员,都有一个成为Kaggle顶级大师(Grandmaster)的梦想. 但每年的Kaggle参赛团队众多,通常一个项目都有数千人至上万人报名,如何在其中脱颖而出? 最近,自动化 ...

  7. gunicorn的作用

    gunicorn是什么: gunicorn是一种unix上被广泛使用的Python WSGI UNIX HTTP Server WSGI是什么: 先说下 WSGI 的表面意思,Web Server G ...

  8. springboot集成通用mapper详细配置

    通常,我们利用mybatis写持久层方法.要么按照传统定义mapper方法,定义xml文件的方式,全部手写.要么需要通过mybatis-generator逆向工程插件生成大量的xxxExample文件 ...

  9. 数据挖掘-K-近邻算法

    数据挖掘-K-近邻算法 目录 数据挖掘-K-近邻算法 1. K-近邻算法概述 1.1 K-近邻算法介绍 1.1.1 KNN算法作用 1.1.2 KNN 算法思想 1.1.3 KNN算法特点 1.2 K ...

  10. Redis 笔记(四)—— SET 常用命令

    常用命令 命令 用例和描述 SADD SADD key item [item ...] —— 将一个或多个元素添加到集合中,返回添加的数量 SREM SREM key item [item ...] ...