中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

搭建網(wǎng)站程序網(wǎng)站點(diǎn)擊量與排名

搭建網(wǎng)站程序,網(wǎng)站點(diǎn)擊量與排名,貴陽(yáng)企業(yè)網(wǎng)站模板,互動(dòng)的網(wǎng)站!注: go中 對(duì)變量申明很是嚴(yán)格,申明了,在沒(méi)有使用的情況下,也會(huì)產(chǎn)生編譯錯(cuò)誤 1.行分隔符 一行就是代碼,無(wú);分割,如果需要在一行展示,需要以;分割,…

!注: go中 對(duì)變量申明很是嚴(yán)格,申明了,在沒(méi)有使用的情況下,也會(huì)產(chǎn)生編譯錯(cuò)誤
1.行分隔符
一行就是代碼,無(wú);分割,如果需要在一行展示,需要以;分割,否則編譯出錯(cuò)

	fmt.Println("hello world")fmt.Println(111)fmt.Println("hello world");fmt.Println(111)

2.標(biāo)識(shí)符
標(biāo)識(shí)符就是常量或者func命名方式:
不能使用關(guān)鍵字,數(shù)字開(kāi)頭,運(yùn)算符 如:case(關(guān)鍵字),1ab(數(shù)字開(kāi)頭無(wú)效字符),a+b(編譯不通過(guò))之類的來(lái)命名;也不允許使用預(yù)定義標(biāo)識(shí)符 如 byte bool等

3.關(guān)鍵字
25個(gè)關(guān)鍵字

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

4.預(yù)定義標(biāo)識(shí)符
36個(gè)預(yù)定義標(biāo)識(shí)符

append	bool	byte	cap	    close	complex	complex64	complex128	uint16
copy	false	float32	float64	imag	int	    int8	    int16		uint32
int32	int64	iota	len  	make	new	    nil   		panic		uint64
print	println	real	recover	string	true	uint		uint8		uintptr

5.go語(yǔ)言中的空格
go語(yǔ)言中的空格 為了提高代碼的閱讀性個(gè)規(guī)范,通常兩個(gè)變量之間必須要有空格隔開(kāi),在if條件中是為了提高閱讀性,在常量賦值中,沒(méi)有空格隔開(kāi),編譯出錯(cuò)。

const a int = 10
const b string = "ccc"func main() {var c int = 11if c < a {fmt.Print("a<10")} else {fmt.Print("a>10")}
}

6.格式化字符串
Go 語(yǔ)言中使用 fmt.Sprintf 或 fmt.Printf 格式化字符串并賦值給新串:

Sprintf 根據(jù)格式化參數(shù)生成格式化的字符串并返回該字符串。
Printf 根據(jù)格式化參數(shù)生成格式化的字符串并寫入標(biāo)準(zhǔn)輸出。
等同于 java中string.format()

    // %d 表示整型數(shù)字,%s 表示字符串var tempCode = 1234var endDate = "2023-12-24"var url = "Code=%d&endDate=%s"fmt.Println(fmt.Printf(url, tempCode, endDate))var target_url = fmt.Sprintf(url, tempCode, endDate)fmt.Println(target_url)

在這里插入圖片描述
7.變量
go語(yǔ)言中變量同一個(gè)func中具有唯一性
只能申明一次
申明變量使用 var申明

var tempA, tempB, tempC int = 1, 2, 3 //申明同一種類型的變量可以采用這種方式fmt.Println(tempA)fmt.Println(tempB)fmt.Println(tempC)

先申明多個(gè)變量,在統(tǒng)一賦值

var tempA, tempB, tempC int //申明同一種類型的變量可以采用這種方式var stringVla stringtempA, tempB, tempC, stringVla = 1, 2, 3, "測(cè)試字符串"fmt.Println(tempA)fmt.Println(tempB)fmt.Println(tempC)fmt.Println(stringVla)

在這里插入圖片描述

重復(fù)申明

var intVal intintVal := 1intVal1 := 10fmt.Println(intVal + intVal1)

在這里插入圖片描述
go中 對(duì)變量申明很是嚴(yán)格
申明了,在沒(méi)有使用的情況下,也會(huì)產(chǎn)生編譯錯(cuò)誤
在這里插入圖片描述
函數(shù)調(diào)用

	//cc := "測(cè)試"var testStr string = "測(cè)試"v1, v2, v3 := disposeData(9, 1, testStr)fmt.Print(v1, v2, v3)
}func disposeData(d int, d1 int, c1 string) (int, int, string) {a, b, c := 1+d, 2+d1, "參數(shù)"+c1return a, b, c
}

在這里插入圖片描述
8.常量
go中常量以 const(a,b,c)這種格式進(jìn)行來(lái)命名常量
普通常量

	const (a = "常量測(cè)試"b = len(a)c = unsafe.Sizeof(a))

常量元素自動(dòng)+1(iota)

	// 在const常量中,使用iota進(jìn)行計(jì)算,它后面的的值都會(huì)依次+1const (a = iotabc)fmt.Print(a, b, c)

在這里插入圖片描述
9.語(yǔ)言運(yùn)算符
這里和傳統(tǒng)很多語(yǔ)言中的一樣就 不寫代碼實(shí)例了
運(yùn)算符 描述 實(shí)例

==	檢查兩個(gè)值是否相等,如果相等返回 True 否則返回 False。	(A == B) 為 False
!=	檢查兩個(gè)值是否不相等,如果不相等返回 True 否則返回 False。	(A != B) 為 True
>	檢查左邊值是否大于右邊值,如果是返回 True 否則返回 False。	(A > B) 為 False
<	檢查左邊值是否小于右邊值,如果是返回 True 否則返回 False。	(A < B) 為 True
>=	檢查左邊值是否大于等于右邊值,如果是返回 True 否則返回 False。	(A >= B) 為 False
<=	檢查左邊值是否小于等于右邊值,如果是返回 True 否則返回 False。	(A <= B) 為 True

邏輯運(yùn)算符

&&	邏輯 AND 運(yùn)算符。 如果兩邊的操作數(shù)都是 True,則條件 True,否則為 False。	(A && B) 為 False
||	邏輯 OR 運(yùn)算符。 如果兩邊的操作數(shù)有一個(gè) True,則條件 True,否則為 False。	(A || B) 為 True
!	邏輯 NOT 運(yùn)算符。 如果條件為 True,則邏輯 NOT 條件 False,否則為 True。	!(A && B) 為 True

賦值運(yùn)算符

=	簡(jiǎn)單的賦值運(yùn)算符,將一個(gè)表達(dá)式的值賦給一個(gè)左值	C = A + B 將 A + B 表達(dá)式結(jié)果賦值給 C
+=	相加后再賦值	C += A 等于 C = C + A
-=	相減后再賦值	C -= A 等于 C = C - A
*=	相乘后再賦值	C *= A 等于 C = C * A
/=	相除后再賦值	C /= A 等于 C = C / A
%=	求余后再賦值	C %= A 等于 C = C % A
<<=	左移后賦值	C <<= 2 等于 C = C << 2
>>=	右移后賦值	C >>= 2 等于 C = C >> 2
&=	按位與后賦值	C &= 2 等于 C = C & 2
^=	按位異或后賦值	C ^= 2 等于 C = C ^ 2
|=	按位或后賦值	C |= 2 等于 C = C | 2

其他運(yùn)算符

&	返回變量存儲(chǔ)地址	&a; 將給出變量的實(shí)際地址。
*	指針變量。	*a; 是一個(gè)指針變量 int  4

運(yùn)算符優(yōu)先級(jí)
由高到低

5	* / % << >> & &^
4	+ - | ^
3	== != < <= > >=
2	&&
1	||

10.語(yǔ)言條件語(yǔ)句
if if-else 嵌套if switch selct
if語(yǔ)句

	var a int = 10//var b int = 12if a < 10 {fmt.Print("a<10")}

if-else

var a int = 10//var b int = 12if a < 10 {fmt.Print("a<10")}else {fmt.Print("a>10")}```
嵌套if```bashvar a int = 10var b int = 12if a == 10 {fmt.Println("a<10")if b > 10 {fmt.Println("b>10")}}

switch
等于某個(gè)值走某一項(xiàng)

switch marks {case 90: grade = "A"case 80: grade = "B"case 50,60,70 : grade = "C"default: grade = "D"  }switch {case grade == "A" :fmt.Printf("優(yōu)秀!\n" )    case grade == "B", grade == "C" :fmt.Printf("良好\n" )      case grade == "D" :fmt.Printf("及格\n" )      case grade == "F":fmt.Printf("不及格\n" )default:fmt.Printf("差\n" );}fmt.Printf("你的等級(jí)是 %s\n", grade );  

select
接收到某個(gè)值走某一個(gè)

   c1 := make(chan string)c2 := make(chan string)go func() {time.Sleep(1 * time.Second)c1 <- "one"}()go func() {time.Sleep(2 * time.Second)c2 <- "two"}()for i := 0; i < 2; i++ {select {case msg1 := <-c1:fmt.Println("received", msg1) // 獲取到c1的值執(zhí)行case msg2 := <-c2:fmt.Println("received", msg2) // 獲取到c2的值執(zhí)行}} 

11.循環(huán)語(yǔ)句
這里的循環(huán)分為for,for-each 循環(huán)兩種
for循環(huán)

sum := 0for {sum++          // 無(wú)限循環(huán)if sum == 10 { // 增加條件跳出循環(huán)fmt.Print(sum + 1)break}}

for-each循環(huán)
array數(shù)組循環(huán)

// for-each//數(shù)組strings := []string{"abc", "ABC"}for i, s := range strings {fmt.Println(i, s) //rang==java總的 each strings 數(shù)組名 i元素index,s元素value index從0開(kāi)始}
map集合循環(huán)
// map集合map1 := make(map[int]string) //定義一個(gè)int(key) string(value)類型的map集合map1[1] = "a"map1[2] = "b"map1[3] = "c"map1[4] = "d"// 取出map集合中kvfor i, s := range map1 {fmt.Println(i, s)}// 讀取map集合中的kfor i := range map1 {fmt.Println(i)}// 讀取map集合中的vfor _, s := range map1 {fmt.Println(s)}

在這里插入圖片描述

map集合和array數(shù)組結(jié)合使用測(cè)試

// map集合map1 := make(map[int]int)                        //定義一個(gè)int(key) string(value)類型的map集合tempInts := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} //創(chuàng)建一個(gè)集合并賦值//var arr []int // 創(chuàng)建一個(gè)空數(shù)組if !reflect.ValueOf(tempInts).IsNil() {for i, tempInt := range tempInts {map1[i] = tempInt}} else {fmt.Println("集合為空!")}// 取出map集合中kvif len(map1) > 0 {for i, s := range map1 {fmt.Println(i, s)}}

在這里插入圖片描述
在循環(huán)體當(dāng)中通常還有一些控制語(yǔ)句

break 語(yǔ)句	經(jīng)常用于中斷當(dāng)前 for 循環(huán)或跳出 switch 語(yǔ)句
continue 語(yǔ)句	跳過(guò)當(dāng)前循環(huán)的剩余語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán)。
goto 語(yǔ)句	將控制轉(zhuǎn)移到被標(biāo)記的語(yǔ)句。

用到最多的通常為上面兩個(gè)
12.函數(shù)
函數(shù)也叫方法
一個(gè)函數(shù)當(dāng)中擴(kuò)了傳參的參數(shù),有些情況還包括了返回參數(shù)

	// 函數(shù)調(diào)用var maxVal = maxVal(10, 12)fmt.Println(maxVal)// 返回多個(gè)參數(shù)v1, v2, v3 := disposeData(1, 2, "測(cè)試")fmt.Println(v1, v2, v3)
}// 返回最大值,類型為int型
func maxVal(val1, val2 int) int {var res intif val1 > val2 {res = val1} else {res = val2}return res
}// 返回多個(gè)參數(shù)
func disposeData(d int, d1 int, c1 string) (int, int, string) {a, b, c := 1+d, 2+d1, "參數(shù)"+c1return a, b, c
}

在這里插入圖片描述
13.變量
變量分為全局變量和局部變量?jī)煞N;通常函數(shù)內(nèi)的變量為局部變量,函數(shù)外為全局變量

package mainimport "fmt"/* 聲明全局變量 */
var g intfunc main() {/* 聲明局部變量 */var a, b int/* 初始化參數(shù) */a = 10b = 20g = a + bfmt.Printf("結(jié)果: a = %d, b = %d and g = %d\n", a, b, g)
}

14.數(shù)組

// 數(shù)組語(yǔ)法格式為
var arrayName [size]dataType// 初始化數(shù)組
var arr1[10] int//初始化數(shù)組并賦值,兩種都可以,根據(jù)自己需求選擇
var numbers = [5]int{1, 2, 3, 4, 5}
tempInts := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 

具體操作不在這寫了,循環(huán)操作那里有

15.指針
指針:go中的指針就是實(shí)體中的某個(gè)屬性,有指針名稱,指針名稱,指針地址;除了這個(gè)以外,還有空指針的概念
這個(gè)通常用于校驗(yàn)一個(gè)數(shù)據(jù)是否為空時(shí)使用。
指針使用流程:

1.定義指針變量。
2.為指針變量賦值。
3.訪問(wèn)指針變量中指向地址的值。
4.在指針類型前面加上 * 號(hào)(前綴)來(lái)獲取指針?biāo)赶虻膬?nèi)容。

	// 指針var name *string //指向string類型var age *int     //指向int型var i int = 20var tempAge *inttempAge = &i // 指向變量存儲(chǔ)地址fmt.Println(name, age, tempAge)

在這里插入圖片描述
空指針

if(ptr != nil)     // ptr 不是空指針 
if(ptr == nil)    // ptr 是空指針

16.結(jié)構(gòu)體
這個(gè)結(jié)構(gòu)和java中的實(shí)體對(duì)象一樣,只有賦值和取值方式有所區(qū)別

type Books struct {title   stringauthor  stringsubject stringbook_id int
}// 創(chuàng)建一個(gè)新的結(jié)構(gòu)體fmt.Println(Books{"go", "fetter", "go教程", 1111})// k-v形式結(jié)構(gòu)fmt.Println(Books{title: "go", author: "fetter", subject: "go教程", book_id: 1111})// 忽略某個(gè)字段fmt.Println(Books{title: "go", author: "fetter", subject: "go教程"})// 使用對(duì)象接收并獲取單個(gè)字段book := Books{title: "go", author: "fetter", subject: "go教程", book_id: 1234}fmt.Println(book.book_id)

在這里插入圖片描述

17.切片
切片等元素截取,拼接

	// 切片 數(shù)組元素截取,拼接//s := arr[startIndex:endIndex]// 開(kāi)始位置,結(jié)束位置;開(kāi)始位置包括本身,結(jié)束位置到結(jié)束的前一位numbers := []int{0, 1, 2, 3, 4, 5, 6, 7, 8}printSlice(numbers)// 打印原始切片fmt.Println("numbers ==", numbers)//打印子切片從索引1(包含) 到索引4(不包含)fmt.Println("numbers[1:4] ==", numbers[1:4])// 默認(rèn)下限為 0fmt.Println("numbers[:3] ==", numbers[:3])// 默認(rèn)上限為 len(s)fmt.Println("numbers[4:] ==", numbers[4:])//append 數(shù)組元素追加// 追加一個(gè)10numbers = append(numbers, 10)fmt.Println(numbers)// 追加兩個(gè)元素numbers = append(numbers, 10, 12)fmt.Println(numbers)}func printSlice(x []int) {fmt.Printf("len=%d cap=%d slice=%v\n", len(x), cap(x), x)
}

在這里插入圖片描述

18.語(yǔ)言范圍range
Go 語(yǔ)言中 range 關(guān)鍵字用于 for 循環(huán)中迭代數(shù)組(array)、切片(slice)、通道(channel)或集合(map)的元素。在數(shù)組和切片中它返回元素的索引和索引對(duì)應(yīng)的值,在集合中返回 key-value 對(duì)。
具體的操作上面有這里不做實(shí)例了

19.map集合
map是一個(gè)k-v集合,增加刪除查詢都是基于k來(lái)做的

// 創(chuàng)建一個(gè)集合var currentMap = make(map[int]string)currentMap[1] = "a"currentMap[2] = "b"currentMap[3] = "c"// 遍歷集合if len(currentMap) > 0 {fmt.Println("取出集合k-v")// 取出集合中的k-vfor i, s := range currentMap {fmt.Println(i, s)}fmt.Println("取出集合k")// 取出集合中的kfor i := range currentMap {fmt.Println(i)}fmt.Println("取出集合v")// 取出集合中的vfor _, s := range currentMap {fmt.Println(s)}}// 刪除集合元素// 根據(jù)key刪除fmt.Println("源集合", currentMap)delete(currentMap, 1)fmt.Println("刪除后集合", currentMap)

在這里插入圖片描述
20.類型轉(zhuǎn)換
一種類型轉(zhuǎn)為另一種類型

	// 類型轉(zhuǎn)換// int轉(zhuǎn)floatvar a int = 10var b float64 = float64(a)fmt.Println("int轉(zhuǎn)float64", b)//string轉(zhuǎn)intvar str string = "10"var num intnum, _ = strconv.Atoi(str)fmt.Println("string轉(zhuǎn)int", num)//int轉(zhuǎn)stringnum1 := 1234strVlue := strconv.Itoa(num1)fmt.Printf("整數(shù) %d  轉(zhuǎn)換為字符串為:'%s'\n", num1, strVlue)

在這里插入圖片描述

21.接口 interface

	// go變量 對(duì)象在前,類型在后var phone Phone// java 類型在前,對(duì)象在后//private Object objectphone = new(NokiaPhone)phone.call()
}type Phone interface {call()
}type NokiaPhone struct {
}// 實(shí)現(xiàn)了Phone中的call()接口
func (nokiaPhone NokiaPhone) call() {fmt.Println("I m nokiaPhone , I call you phone")
}

在這里插入圖片描述
22.異常處理
異常處理有捕獲異常,返回響應(yīng)前端,也有自己處理,這里直接打印了。

type error interface {Error() string
}
func Sqrt(f float64) (float64, error) {if f < 0 {return 0, errors.New("math: square root of negative number")}
}
http://m.risenshineclean.com/news/48226.html

相關(guān)文章:

  • 網(wǎng)站代碼多彩經(jīng)典模板網(wǎng)站建設(shè)
  • 企業(yè)網(wǎng)站只做英文網(wǎng)站搜什么關(guān)鍵詞
  • 服務(wù)器上如何做網(wǎng)站電商運(yùn)營(yíng)seo
  • 尋找武漢手機(jī)網(wǎng)站建設(shè)精準(zhǔn)引流推廣公司
  • 網(wǎng)站建設(shè)字體顏色代碼網(wǎng)絡(luò)推廣外包業(yè)務(wù)銷售
  • 網(wǎng)店代理靠譜嗎鄭州好的seo外包公司
  • 廈門網(wǎng)頁(yè)網(wǎng)絡(luò)營(yíng)銷優(yōu)化推廣公司
  • 怎么做專門賣二手衣服的網(wǎng)站域名批量查詢工具
  • 深圳網(wǎng)站(建設(shè)信科網(wǎng)絡(luò))seo云優(yōu)化外包
  • 網(wǎng)站租空間多少錢一年青島網(wǎng)絡(luò)優(yōu)化費(fèi)用
  • 如何搭建一個(gè)屬于自己的網(wǎng)站陜西seo主管
  • 網(wǎng)站建設(shè)200seo是怎么優(yōu)化的
  • 網(wǎng)站開(kāi)發(fā)的一次性收益seo大全
  • 網(wǎng)站優(yōu)化軟件開(kāi)發(fā)黑科技引流推廣神器
  • 如何上傳文件到自己的網(wǎng)站googleplay官方下載
  • 三合一網(wǎng)站建設(shè)是指網(wǎng)絡(luò)營(yíng)銷成功案例3篇
  • 做外貿(mào)有那些網(wǎng)站平臺(tái)北京優(yōu)化核酸檢測(cè)
  • 哪個(gè)網(wǎng)站做兼職太原關(guān)鍵詞排名優(yōu)化
  • 濟(jì)南網(wǎng)站的公司哪家好經(jīng)典營(yíng)銷案例
  • 免費(fèi)網(wǎng)頁(yè)制作工具下載廣告優(yōu)化師培訓(xùn)
  • 魚臺(tái)縣建設(shè)局網(wǎng)站十大場(chǎng)景營(yíng)銷案例
  • 建設(shè)企業(yè)外貿(mào)網(wǎng)站如何優(yōu)化網(wǎng)絡(luò)速度
  • wordpress 眾籌模板優(yōu)化大師免費(fèi)版下載
  • 中企動(dòng)力做網(wǎng)站服務(wù)怎么樣seo網(wǎng)絡(luò)推廣報(bào)價(jià)
  • 設(shè)計(jì)網(wǎng)站推薦平面網(wǎng)頁(yè)制作作業(yè)100例
  • 怎樣用h5做網(wǎng)站素材網(wǎng)
  • 網(wǎng)站備案照怎么開(kāi)網(wǎng)站
  • 怎么看網(wǎng)站是dede模板品牌宣傳推廣文案
  • 網(wǎng)站有了域名后怎么還上不了常州seo外包
  • 網(wǎng)站搭建官網(wǎng)個(gè)人怎么做網(wǎng)站