1.變數需要宣告再使用
2.同一作用域不支援重複宣告
3.變數宣告後必須使用
4.可以批量宣告變數
//var 變數名 變數型別5.可以宣告變數同時賦值(可型別推導,不用宣告型別)var s string
//批量宣告
var (
a string
b int
c bool
...)
var s1 string = 「hahaha」6.匿名變數:多重賦值時,忽略某個值,用下劃線var s2 = "hahaha" //型別推導
s3 := "hahaha" //簡短變數宣告,僅可用於函式內中
_
表示。不占用命名空間-不分配記憶體-無重複宣告-不產生不使用報錯的情況
package main1.函式外語句必須以關鍵字開始import "fmt"
func qqq( )(int,string)
func main()
-------
x= 1
y= 1
const 常量名 = 常量值
1.在程式執行期間不會改變2.定義了之後不能修改
批量宣告
//某一行沒賦值,表明同上一行iota常量計數器const(
a = 1bc
)
1.const出現時被重置未02.每新增一行常量宣告
,iota增加1 (類似列舉)
const(a = iota //0
b //1
c//2
)
分為有符號(int)和無符號(uint)
int8// 0 ~ 255,byte型intint16// 0 ~ 65535
int32//
int64//
int8// -128 ~ 127
int16// -32768 ~ 32767 ,對應c語言中的 short 型
int32// -2147483648 ~ 2147483647 , 對應c語言中的 long 型
int64// -9223372036854775808 ~ 9223372036854775807
和 uint
在不同平台時會有區別
uintptr
無符號整型,用於存放乙個指標
func main()支援 float32 和 float64 兩種,預設go語言中小數都是float64.
complex64
和complex128
複數有實部和虛部,complex64的實部和虛部為32位,complex128的實部和虛部為64位.
bool,true(真)
和false(假)
兩個值
注意:1.布林型別值預設false2.不允許整型強制轉換成布林型3.無法參與數值運算,也無法轉換
go中雙引號包裹字串,單引號包裹字元
轉義符\r\n\t等等
多行字串,使用反引號
a := `第一行字串常用操作第二行第三行
`fmt.println(a)
len(str)//求長度go 語言的字元有以下兩種:+ 或 fmt.sprintf//拼接
strings.split//分割
strings.contains//判斷包含
strings.hasprefix,strings.hassuffix//前字尾判斷
strings.index(),strings.lastindex()//定位
strings.join(astring, sep string)//join操作
uint8
型別,或者叫 byte 型,代表了ascii碼
的乙個字元。
rune
型別,代表乙個utf-8字元
。
要先將其轉換成rune
或byte
,完成後再轉換為string
func main()沒有隱式型別轉換,僅支援強制型別轉換
和型別斷言
強制型別轉換
t(表示式)注意:指標的強制型別轉換需要用到unsafe包中的函式實現
型別斷言
package mainimport "fmt"
func main() =10
switch a.(type)
}
Go學習筆記一
每個資料夾下面都有乙個且唯一乙個package main 每個資料夾下面必須要有package宣告 否則會提示redeclared錯誤 package main 根目錄 package testpackage 子目錄 package main import兩種方式,匯入的包必須都要使用,不然會報錯,...
Go 學習筆記 一
隨著go的應用越來越火熱,自己也終於開始學習了。平時經常用c,看著go還是比較親切的。好了,開始。今天主要是按照書上的內容自己簡單的實踐了下最基本的輸出,以及網頁功能,上 1 package main23 import 4 fmt 5 67func main 加法運算 1 package main2...
Go學習筆記
使用關鍵字var定義變數,自動初始化為零值。如果提供初始化值,可省略變數型別。在函式內部,可用更簡略的 方式定義變數。空白符號 package main import fmt func test 2,0 函式內部 定義變數陣列data 0 data 1 data 2 並賦值0,1,2,且i 0 i,...