本文介紹一些Go語言的基礎(chǔ)語法。
我們是成立于2013年的成都網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè),電商網(wǎng)站設(shè)計開發(fā),成都外貿(mào)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)頁設(shè)計,小程序開發(fā)、等服務(wù)。為客戶創(chuàng)造有價值的品牌營銷體驗,讓互聯(lián)網(wǎng)提升企業(yè)的競爭力!
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執(zhí)行結(jié)果:
下面來進一步介紹go的基礎(chǔ)語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結(jié)果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務(wù),也提供了一些格式化輸出的方法。
執(zhí)行結(jié)果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
Go 語言的運算符主要包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關(guān)運算符。
算術(shù)運算符:
關(guān)系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關(guān)運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結(jié)果:
下面介紹幾種循環(huán)語句:
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
也可以通過標記退出循環(huán):
--THE END--
對于Go語言的日志來說,如何將log寫到指定的文件里面,下面是一個例子。
output:
output:
日常開發(fā)當中需要將golang的log包打印的日志同時輸出到控制臺和文件,應(yīng)該如何解決這個問題?
log包可以通過SetOutput()方法指定日志輸出的方式(Writer),但是只能指定一個輸出的方式(Writer)。我們利用io.MultiWriter()將多個Writer拼成一個Writer使用的特性,把log.Println()輸出的內(nèi)容分流到控制臺和文件當中。
原文地址
一.幾種公共方法
1)Print:???輸出到控制臺(不接受任何格式化,它等價于對每一個操作數(shù)都應(yīng)用?%v)
print 在golang中?是屬于輸出到標準錯誤流中并打印,官方不建議寫程序時候用它。可以再debug時候用
2)Println:?輸出到控制臺并換行
3)Printf :?只可以打印出格式化的字符串。只可以直接輸出字符串類型的變量(不可以輸出整形變量和整形等)
4)Sprintf:格式化并返回一個字符串而不帶任何輸出
5)Fprintf:來格式化并輸出到 io.Writers 而不是 os.Stdout
二.帶占位符輸出--網(wǎng)址:? ??
和python差不多的道理,這里簡單補充
v ????值的默認格式
%+v???添加字段名(如結(jié)構(gòu)體)
%#v ?相應(yīng)值的Go語法表示?
%T????相應(yīng)值的類型的Go語法表示?
%%????字面上的百分號,并非值的占位符
%c?????相應(yīng)Unicode碼點所表示的字符?
%x?????十六進制表示,字母形式為小寫 a-f
%X?????十六進制表示,字母形式為大寫 A-F
%U???? Unicode格式:U+1234,等同于?"U+%04X"