1. 程式人生 > 其它 >Linux - 批量執行sudo命令指令碼

Linux - 批量執行sudo命令指令碼

變數

// 變數
package main

func main() {
    //1 定義變數的第一種方式:全定義
    //var關鍵字 變數名 變數型別 = 變數值
    //var age int =10   //在go中,變數定義了就必須使用,如果不使用就報錯
    //fmt.Println(age)

    //2 定義變數的第二種方式:型別推導(型別不需要寫了)
    //var age =10
    //age=100
    //var name ="lqz"
    //fmt.Println(age)  //列印並換行
    //fmt.Print(name)   //列印不換行
    //fmt.Printf("%T\n
",age) //檢視變數型別 //fmt.Printf("%T",name) //fmt.Printf("%p",&name) //3 定義變數的第三種方式:簡略宣告(型別和var關鍵字都不寫)這種用的多,冒號和等號是一家 //a:=10 ////var a int =100 //重複定義 ////var a =99 //重複定義 //a := 99 //重複定義 //a=99 //fmt.Println(a) //4 其他變形方式 //4.1 只定義不賦值 //var age int //定義變數 //如果是隻定義,不賦值,只能用這種
//var age //只定義,不賦值,不行 //4.2 宣告多個變數 //var width, height int = 100, 50 // 宣告多個變數 //var width,height =100,50 // 宣告多個變數 //var width,height =100,"lqz" // 宣告多個變數 //width,height :=100,";qz" // 宣告多個變數 //4.3 宣告多個變數,並賦初值 //var ( // name = "naveen" // age int = 29 // height int
//) //fmt.Println(name,age,height) //4.4 小坑 //var a int =10 ////var b =99 //b,a:=99,100 //這個不報錯,我們覺得是重複定義,冒號左側,只要有一個沒有定義過的變數,就可以 //fmt.Println(b) //fmt.Print(a) /* 總結: 1 變數型別在定義階段就確定了,一旦確定,不允許改變 2 變數不可以重複定義 3 變數要先定義再使用 */ }

變數定義規範

/*
變數命名規範
    -變數命令建議用駝峰,(大小寫有特殊意義)
    -go檔案命名建議用 下劃線
    - 一個名字必須以一個字母(Unicode字母)或下劃線開頭,後面可以跟任意數量的字母、數字或下劃線
    -大寫字母和小寫字母是不同的:Name和name是兩個不同的變數
    -關鍵字和保留字都不建議用作變數名
 */

/*
Go語言中關鍵字有25個
break      default       func     interface   select
case       defer         go       map         struct
chan       else          goto     package     switch
const      fallthrough   if       range       type
continue   for           import   return      var

go語言中有37個保留字,主要對應內建的常量、型別和函式
內建常量: true false iota nil
內建型別:  int int8 int16 int32 int64
          uint uint8 uint16 uint32 uint64 uintptr
          float32 float64 complex128 complex64
          bool byte rune string error

內建函式: make len cap new append copy close delete
          complex real imag
          panic recover
 */

型別

    /*
        基礎資料型別
        數字:
            有符號整形
                -int:在32位機器是int32,在64位機器是int64
                -int8:表示整數範圍是:8個位元位,8個bit是1byte ,負數和0, 2的7次方-1 的範圍
                -int16 2的15次方減一
                -int32
                -int64
            無符號整型
                -uint8   2的8次方減一  定義一個人的年齡
                -uint16
                -uint32
                -uint64

            浮點型(小數),表示小數點後長度多少位
                -float32
                -float64
            複數
                -complex64
                -complex128
            byte:是int8的別名  單引號包裹
            rune:是int32的別名  單引號包裹
        字串
            雙引號包裹
            反引號包裹  ` `


        布林
            bool true 和 false

        資料型別預設值:
            數字型別是0
            字串型別是 空字串
            布林型別   false

    */

/*
byte:int8
short :int16
int:int32
long:int64
float:float32
double:float64
*/

常量

package main

//常量
func main() {
    //常量的定義,第一種
    //const  變數名  變數型別 = 變數值
    //const  age int8 = 99
    ////修改就報錯
    //age=199
    //fmt.Println(age)

    //第二種方式型別推導
    //const age = 99
    //age=88
    //fmt.Println(age)

    //其他定義方式
    //const name,age = "zhangsan",99
    //const (
    //    name string ="lqz"
    //    age =99
    //)
    //const (
    //    s1  =iota
    //    s2 =iota
    //    s3
    //    s4 =99
    //    s5 =iota
    //) 
    //fmt.Println(s1)  0
    //fmt.Println(s2)  1
    //fmt.Println(s3)  2
    //fmt.Println(s4)  99
    //fmt.Println(s5)  4




}
//const 關鍵字定義,不允許改變

變數作用域範圍

package main

import "fmt"

//在同一個包下,函式名不能重名
//var a int   //全域性變數,全域性有效,只要改了,就是改了
//func main() {
//    fmt.Println(a)  //0
//    a=19
//    fmt.Println(a) //19
//    test1()  //99
//    fmt.Println(a) //99
//}
//
//func test1()  {
//    a=99
//    fmt.Println(a)
//
//}


//變數的作用域範圍

var a int   //全域性變數,全域性有效,只要改了,就是改了
func main() {
    var a int
    fmt.Println(a)  //0
    a=19
    fmt.Println(a) //19
    test1()  // 0
    fmt.Println(a) //19
}

func test1()  {
    fmt.Println(a)

}