Go語言擁有優秀的庫來查詢數據庫。同時它還能將結果以JSON格式展示出來。下面是一個簡單的例子:
import ( "database/sql" "encoding/json" _ "github.com/go-sql-driver/mysql" "fmt" ) type User struct { Id int Name string Age int Sex int Phone string } func GetUserList() []byte { db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/dbname") if err != nil { fmt.Println(err) return nil } defer db.Close() rows, err := db.Query("SELECT id, name, age, sex, phone FROM user") if err != nil { fmt.Println(err) return nil } defer rows.Close() var users []User for rows.Next() { var user User err := rows.Scan(&user.Id, &user.Name, &user.Age, &user.Sex, &user.Phone) if err != nil { fmt.Println(err) continue } users = append(users, user) } result, err := json.Marshal(users) if err != nil { fmt.Println(err) return nil } return result }
此處我們使用了SQL查詢語句“SELECT id, name, age, sex, phone FROM user”來獲取我們需要的數據。通過循環遍歷獲取到的結果,我們建立了一個User結構體對象并將其追加到一個數組中。最后我們通過json.Marshal()函數將數組以JSON格式輸出。
當然這只是一個簡單的例子。在實際操作中,我們可能需要更復雜的查詢操作,而Go的數據庫庫支持各種各樣的查詢方式。同時,我們還可以通過添加WHERE、GROUP BY、ORDER BY等鍵值對進行更加精確的查詢。