包、mode模式、if-else语句、switch语句
包
//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语句的更多相关文章
- goto语句 switch语句
goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...
- 【C语言】-条件语句-switch语句
switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...
- Java ——if条件语句 switch语句
本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //…语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大 ...
- 关系运算符 逻辑运算符 if 语句 switch语句
1. BOOL类型 BOOL isRightOrNo = YES; isRightOrNo = 56;//可以打印出来,在C语言中,非0即真 printf("%d\n" , isR ...
- 【JS】332- 为什么我更喜欢对象而不是 switch 语句
昨天偷懒了,欢迎点击关注???这样我就多更大的动力日更了- 正文从这里开始~~~ 最近(或者不是最近,这完全取决于您什么时候阅读这边文章),我正在跟我的团队伙伴讨论如何去处理这种需要根据不同的值去处理 ...
- java基础:switch语句应用,循环的详细介绍以及使用,附练习案列
1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- 1203.2——条件语句 之 switch语句
用 if else 语句在处理多分支的时候,分支太多就会显得不方便,且容易出现 if 和 else配对出现错误的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include < ...
- 第二部分 条件控制执行语句、循环语句、switch语句、跳转语句和其它语句
条件控制执行语句: if语句 if....else....语句 循环语句: while语句 do....while语句 for语句 switch语句: 跳转语句: break; continue; r ...
- 7.21.02 switch语句
switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch语法格式如下: switch(expression) { case value : //语句 break ...
随机推荐
- [贪心,dp] Educational Codeforces Round 71 (Rated for Div. 2) C. Gas Pipeline (1207C)
题目:http://codeforces.com/contest/1207/problem/C C. Gas Pipeline time limit per test 2 seconds memo ...
- HDU 1847-Good Luck in CET-4 Everybody!-博弈SG函数模板
Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作为在考场浸润了十几载 ...
- jquery实现元素的显示和隐藏
这个是指定表格列的隐藏的demo,其余的都大同小异了 $("#account-table tr").find($("#tcNum")).show();//sho ...
- 大规模机器学习(Large Scale Machine Learning)
本博客是针对Andrew Ng在Coursera上的machine learning课程的学习笔记. 目录 在大数据集上进行学习(Learning with Large Data Sets) 随机梯度 ...
- ArrayList中的Iterator详解
每个实现Iterable接口的类必须提供一个iterator方法,返回一个Iterator对象,ArrayList也不例外 public Iterator<E> iterator() { ...
- 封装一个通用的PopupWindow
上篇文章是关于建造者设计模式的,今天顺便封装一个通用的 PopupWindow 来实践一下, 同时也方便以后使用 PopupWindow,本文将从下面几个方面来介绍 PopupWindow 及其封装, ...
- python学习第四节 迭代器 生成器
1:什么是迭代 可以直接作用于for循环的对象统称为可迭代对象(Iterable). 可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator). 所有的Iterable均可以通 ...
- nginx 安装教程
Nginx 安装教程 本教程在CentOS6.7中安装nginx 1.8.0,Nginx中加入了taobao的concat模块,nginx-upload-module模块,pcre 以及nginx-u ...
- C++类的成员初始化
C++类的成员初始化 学到一个类的成员初始化,目前已知的用途是给类内部的const类型变量进行赋值. 首先,如果像这么干,编译器会报错. class MyClass{ public: Myclass( ...
- C9K Stackwise Virtual(一)
一.SV技术基本说明 思科Catalyst9K平台的Stackwise Virtual技术是将两个物理的交换机虚拟成一个逻辑的实体(从网络控制层面和管理的角度来看),这两个交换机合二为一之后,将共享相 ...